除非我错了。的值/proc/sys/kernel/shmall
指示可以分配给系统的共享内存总量(以字节为单位)。
我在t2.micro
ec2 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位系统。