如何找到用于 ramfs、tmpfs 的 RAM 缓存大小

Nic*_*ick 8 memory linux tmpfs

我不知道是否有任何方式指定RAM缓存用于存储大小ramfstmpfs

当我查看时/proc/,我找不到任何关于ramfs大小的信息。

jau*_*ume 7

http://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt

进一步,您可以使用 df(1) 和 du(1) 检查 tmpfs 实例的实际 RAM+swap 使用。

所以只需使用dfor du(您也可以将它们用于 ramfs):

$ df | grep tmpfs
tmpfs             205032      1136    203896   1% /run
Run Code Online (Sandbox Code Playgroud)

所以1136 KB正在使用中。

$ sudo du -s /run
[sudo] password for jaume: 
1416    /run
Run Code Online (Sandbox Code Playgroud)

所以1416 KB正在使用中。

这很有趣……dfdu报告不同的尺寸。这里发生了什么,哪一个是正确的?

/run有一个名为 的子文件夹/run/shm,它本身是一个单独的 tmpfs 文件系统(虽然显示为none):

$ df | grep run
tmpfs             205032      1136    203896   1% /run
none                5120         0      5120   0% /run/lock
none              512572       280    512292   1% /run/shm
Run Code Online (Sandbox Code Playgroud)

将这两个数量相加,您将得到报告的大小du

$ expr 1136 + 280
1416
Run Code Online (Sandbox Code Playgroud)

所以整个故事是 2 tmpfs 文件系统使用 1416 KB。

(这里的另一个原因,为什么dudf输出可能会有所不同。)