tmpfs 怎么会大于 SHMALL 参数?

tmpfs 怎么会大于 SHMALL 参数?

正在使用的共享内存量

#> df -h /dev/shm Filesystem Size Used Avail Use% Mounted on tmpfs 125G 96G 30G 77% /dev/shm

系统范围内的最大共享内存量,由 SHMALL 内核参数设置

ipcs -lm | grep shared max total shared memory (kbytes) = 67108864

问题:这怎么可能?内核中怎么能将最大共享内存设置为 64GB,但却df报告说使用了 96G 共享内存?

答案1

shmall参数指的是传统的 UNIX IPC 共享内存。您可以使用命令查看该内存分配ipcstmpfs临时文件系统是一个完全不同的子系统,用作基于 RAM、交换支持的文件系统。

tmpfs实际上是用来执行posix共享内存的基础,这是一种不同于unix IPC的共享内存系统。

相关内容