use*_*727 5 memory shared-memory
根据RHEL 文档,系统上可用的共享内存总量等于shmall*PAGE_SIZE
。
我完成RHEL 6的安装后,shmall
内核参数的值默认为4294967296\xef\xbc\x8c,这意味着系统范围内可以使用的共享内存页面总数为4294967296,页面大小为4096 B. 因此,根据公式,共享内存的大小为
4294967296*4096/1024/1024/1024/1024 = 16 TB\n
Run Code Online (Sandbox Code Playgroud)\n...这远远大于操作系统的 RAM (8 GB) 大小。操作系统如何找到 16 TB 的共享内存来分配?
\n那么, 的大小是否/dev/shm
等于共享内存的大小呢?如果不是,我怎样才能得到共享内存的实际大小?
你的计算是正确的。shmall 可以设置为高于可用虚拟内存。如果您尝试使用所有这些,那么它不会因为 shmall 超出而失败,而是因为其他原因。
顺便说一句,还有一些命令可以查找这些 IPC 限制:
ipcs -l
lsipc # util-linux>=2.27
Run Code Online (Sandbox Code Playgroud)
请注意,默认情况下,Linux 上的虚拟内存也是无限的,大于 RAM+swap。看
https://serverfault.com/questions/606185/how-does-vm-overcommit-memory-work
另一方面,您可以限制每个进程的虚拟内存ulimt -v
,这不会影响内核的虚拟内存/proc/sys/kernel/shmall
。
归档时间: |
|
查看次数: |
7357 次 |
最近记录: |