El gestor de bases de datos utiliza una fórmula para ajustar automáticamente los valores de los parámetros del kernel y elimina la necesidad de actualizar manualmente estos valores.
Parámetros del kernel de comunicación entre procesos
Cuando se inician las instancias, si un parámetro del kernel de comunicación entre procesos (IPC) se encuentra por debajo del valor mínimo que ha de aplicarse, el gestor de bases de datos lo actualiza al valor mínimo aplicado. Los valores de parámetro de kernel IPC cambian cuando se inicia una instancia de
Db2® .
Atención: Los valores de parámetro de kernel IPC cambiados cuando se inicia una instancia de Db2 no persisten cuando se rearranca el sistema. Después de un rearranque, los valores del kernel pueden ser inferiores a los valores aplicados hasta que se inicie una instancia de Db2 . Si se ajustan los valores de parámetros del kernel, el gestor de base de datos impide que se produzcan errores de recursos innecesarios.
Tabla 1. Valores mínimos aplicados para los parámetros del kernel de comunicación entre procesos de Linux
| Parámetro del kernel de IPC |
Valor mínimo impuesto |
| kernel.shmmni (SHMMNI) |
256 * <size of RAM in GB> |
| kernel.shmmax (SHMMAX) |
<size of RAM in bytes>1 |
| kernel.shmall (SHMALL) |
2 * < tamaño de RAM en el tamaño de página predeterminado del sistema >2 |
| kernel.sem (SEMMNI) |
256 * <size of RAM in GB>3 |
| kernel.sem (SEMMSL) |
250 |
| kernel.sem (SEMMNS) |
kernel.sem ( SEMMNI ) o 256 000, el valor que sea mayor |
| kernel.sem (SEMOPM) |
32 |
| kernel.msgmni (MSGMNI) |
1 024 * <size of RAM in GB> |
| kernel.msgmax (MSGMAX) |
65.536 |
| kernel.msgmnb (MSGMNB) |
65 536 4 |
- En sistemas operativos Linux® de 32 bits, el valor mínimo impuesto para SHMMAX está limitado a 4 294 967 295 bytes.
- SHMALL limita la cantidad total de memoria compartida virtual que puede asignarse en un sistema. Cada servidor de datos Db2 gestiona eficientemente la cantidad de memoria del sistema que utiliza, es , conocida como memoria comprometida. El servidor de datos Db2 asigna más memoria virtual de la que confirma para dar soporte a la preasignación de memoria y a la gestión de memoria dinámica. La preasignación de la memoria beneficia al rendimiento. La gestión de memoria dinámica es el proceso de aumentar y disminuir el uso de memoria real en áreas separadas de memoria compartida virtual. Para dar soporte eficazmente a la preasignación de memoria y a la gestión de memoria dinámica, los servidores de datos deben asignar, con frecuencia, más memoria compartida virtual en un sistema que la cantidad de RAM física. El kernel requiere este valor como un número de páginas.
- Si el parámetro de línea de mandatos de kernel ipcmni_extend no está habilitado o el sistema tiene menos de 128 GB de RAM, este valor se establece en 32768.
- El rendimiento de la carga podría beneficiarse de un límite de tamaño de cola de mensajes mayor, especificado en bytes mediante MSGMNB. Puede ver el uso de la cola de mensajes ejecutando el mandato
ipcs
-q . Si las colas de mensajes están a su máxima capacidad, o a punto de alcanzarla, durante las operaciones de carga, piense en aumentar el número de bytes del límite de tamaño de la cola de mensajes.
|
Valores mínimos de parámetro de kernel aplicados
Cuando se inician instancias, si un parámetro de kernel está por debajo del valor mínimo impuesto, el gestor de bases de datos lo actualiza al valor mínimo impuesto. Los valores de parámetro de kernel cambian cuando se inicia una instancia de
Db2 .
Atención: Los valores de parámetro de kernel cambiados cuando se inicia una instancia de Db2 no persisten cuando se rearranca el sistema. Después de un rearranque, los valores del kernel pueden ser inferiores a los valores aplicados hasta que se inicie una instancia de Db2 . Si se ajustan los valores de parámetros del kernel, el gestor de base de datos impide que se produzcan errores de recursos innecesarios.
Tabla 2. Valores mínimos aplicados para los parámetros de kernel
| Kernel, parámetro |
Valor mínimo impuesto |
| fs.file-max |
16384 |
| fs.aio-max-nr |
1048576 Nota: Este parámetro se aplica a partir de Db2 versión 11.5.4 y posterior.
|
| vm.max_map_count |
< tamaño de RAM en bytes >/4096 |
| kernel.panic_on_oops |
51 |
- Este parámetro sólo se cambia en configuraciones pureScale
|
Otros valores de los parámetros del kernel recomendados
En la siguiente tabla se indican otros valores de parámetros del kernel recomendados.
Tabla 3. Configuración de otros parámetros de kernel de Linux
| Valor de parámetro del kernel recomendado |
Configuración de los parámetros de kernel para el servidor de datos Db2 |
| vm.swappiness=5 |
Este parámetro define cuál es la tendencia del kernel con relación al intercambio de memoria de aplicación a partir de la memoria de acceso aleatorio (RAM) física. El valor por omisión es vm.swappiness=60. El valor de parámetro de kernel recomendado, vm.swappiness=5, da preferencia al mantenimiento de la memoria de aplicación en la RAM, en lugar de asignar más memoria para el almacenamiento en caché de archivos.
vm.swappiness tiene un pequeño efecto sobre el comportamiento de swap en un sistema con cgroups v1. Esto puede dar lugar a intercambios inesperados mientras haya mucha caché de página recuperable disponible. Para solucionar el problema se ha añadido la nueva dirección vm.force_cgroup_v2_swappiness en RHEL 8.7. Se recomienda establecerla en 1 cuando se utilice cgroups v1.
Para más información, consulte Cambio prematuro cuando aún queda mucha caché de página por recuperar.
|
| vm.overcommit_memory=0 |
Este parámetro afecta a la cantidad de memoria virtual que el kernel permite asignar. El valor por omisión es vm.overcommit_memory=0. Este valor significa que la memoria virtual asignada es ilimitada. Tener memoria virtual ilimitada es importante para los servidores de datos Db2 , que conservan asignaciones de memoria virtual no utilizadas adicionales para la gestión de memoria dinámica. La memoria asignada no referenciada no está respaldada por RAM o espacio de paginación en sistemas Linux . Evite el valor vm.overcommit_memory=2, pues este valor limita la cantidad total de memoria virtual que puede asignarse, lo que podría generar errores no esperados. |
| TasksMax |
Para obtener más información sobre este parámetro de kernel, consulte Resolución de problemas- TasksMax establecido demasiado bajo. |
| ipcmni_extend |
Este parámetro se recomienda en kernels Linux Red Hat más recientes, ya que estos kernels pueden limitar algunos parámetros como SHMMNI, SEMMNI y MSGMNI a 32768. Si los usuarios tienen más de 128GB de RAM, las recomendaciones no funcionarán a menos que se establezca el parámetro ipcmni_extend .
Para obtener más información, consulte db2start falla debido a la aplicación de matrices máximas de semáforos en los nuevos núcleos de Linux.
|