/proc/sys/kernel/shmall 的解释

/proc/sys/kernel/shmall 的解释

除非我错了。的值/proc/sys/kernel/shmall指示可以分配给系统的共享内存总量(以字节为单位)。

我在t2.microec2 debian 实例上,我得到以下信息:

$ cat /proc/sys/kernel/shmall
18446744073692774399

我不认为这意味着共享内存的可分配总量大约是0.02泽字节...

答案1

是的,对于任何人来说都应该足够了,定义为(ULONG_MAX - (1UL << 24)).但请注意,它不是每个进程的值,而是总体值。看http://elixir.free-electrons.com/linux/latest/source/include/uapi/linux/shm.h#L13

* SHMMNI、SHMMAX 和 SHMALL 为默认上限,可根据需要修改
 * 由 sysctl 修改。 SHMMAX 和 SHMALL 值已选择为
 * 在不促进用户空间的场景的情况下尽可能大
 * 通过表单操作调整限制时会导致溢出
 *“检索当前限制;添加X;更新限制”。因此它不是
 * 建议将 SHMMAX 和 SHMALL 设得更大。这些限制是
 * 适用于32位和64位系统。

相关内容