Как узнать размер использования кеша RAM для ramfs, tmpfs

15979
Nick

Я интересно, если есть способ указать размер кэша памяти, используемый для хранения ramfs, tmpfs?

Когда я смотрю /proc/, я не могу найти ничего о ramfsразмере.

5
Вы проверили #cat / proc / meminfo? 11 лет назад 0
Я уже проверил / proc / meminfo и / proc / vmstat, но о ramfs нет никаких полей. 11 лет назад 0
`ramfs` и` tmpfs` динамически используют / получают оперативную память в зависимости от необходимости. У них нет фиксированного или жесткого распределения RAMemory. Следовательно, нет способа указать какой-либо размер выделения, как у `ramdisk`. sawdust 11 лет назад 0
Вы можете просто использовать `df` или` du`, посмотрите мой ответ ниже. jaume 11 лет назад 0
Хороший разговор о ramdisk (initrd), vs ramfs (initramfs), vs tmpfs и их различном поведении с точки зрения распределения и использования памяти можно найти в следующей статье, написанной парнями из проектов Tin Hat и Tor-ramdisk: http : //opensource.dyc.edu/ramdisk-vs-ramfs dustymabe 10 лет назад 0

1 ответ на вопрос

3
jaume

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

Further on you can check the actual RAM+swap use of a tmpfs instance with df(1) and du(1).

So simply use df or du (you can also use them for ramfs):

$ df | grep tmpfs tmpfs 205032 1136 203896 1% /run 

so 1136 KB is in use.

$ sudo du -s /run [sudo] password for jaume: 1416 /run 

so 1416 KB is in use.

Thats's interesting... df and du report different sizes. What is happening here and which one is right?

/run has a subfolder called /run/shm, which is itself a separate tmpfs filesytem (although shown as none):

$ df | grep run tmpfs 205032 1136 203896 1% /run none 5120 0 5120 0% /run/lock none 512572 280 512292 1% /run/shm 

Adding both amounts you get the size reported by du:

$ expr 1136 + 280 1416 

So the whole story is that 2 tmpfs filesystems use 1416 KB.

(Here's another reason why du and df outputs may differ.)