正在使用的共享内存量:
#> 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 共享内存。您可以使用命令查看该内存分配ipcs
。tmpfs
临时文件系统是一个完全不同的子系统,用作基于 RAM、交换支持的文件系统。
tmpfs
实际上是用来执行posix共享内存的基础,这是一种不同于unix IPC的共享内存系统。