Interpretación de /proc/sys/kernel/shmall

Interpretación de /proc/sys/kernel/shmall

A menos que me equivoque. el valor de /proc/sys/kernel/shmallindica la cantidad total de memoria compartida, en bytes, que se puede asignar al sistema.

Estoy en una t2.microinstancia debian ec2 y me sale esto:

$ cat /proc/sys/kernel/shmall
18446744073692774399

No creo que esto signifique que la cantidad total asignable de memoria compartida sea de aproximadamente0,02 zettabytes...

Respuesta1

Bien, debería ser suficiente para cualquiera, definido como (ULONG_MAX - (1UL << 24)). Sin embargo, tenga en cuenta que no es un valor por proceso, sino un valor general. Verhttp://elixir.free-electrons.com/linux/latest/source/include/uapi/linux/shm.h#L13:

* SHMMNI, SHMMAX y SHMALL son límites superiores predeterminados que pueden
 *modificado por sysctl. Los valores SHMMAX y SHMALL han sido elegidos para
 * ser lo más grande posible sin facilitar escenarios donde el espacio de usuario
 * provoca desbordamientos al ajustar los límites mediante operaciones del formulario
 * "recuperar límite actual; agregar X; actualizar límite". Por lo tanto no es
 * Se recomienda hacer SHMMAX y SHMALL más grandes. Estos límites son
 * adecuado para sistemas de 32 y 64 bits.

información relacionada