free
の出力の4番目の列は、sharedという名前です。私がインターネットで見ることができるほとんどの出力では、sharedメモリはゼロです。しかし、私のコンピューターではそうではありません。
$ free -h
total used free shared buff/cache available
Mem: 7,7G 3,8G 1,1G 611M 2,8G 3,0G
Swap: 3,8G 0B 3,8G
以下はps_mem.py
の出力の抜粋です。
Private + Shared = RAM used Program
---------------------------------
21.4 MiB + 1.0 MiB = 22.4 MiB bash (9)
29.2 MiB + 5.3 MiB = 34.5 MiB Xorg
35.9 MiB + 858.5 KiB = 36.7 MiB tor
42.9 MiB + 9.6 MiB = 52.5 MiB urxvt (16)
121.0 MiB + 24.9 MiB = 145.8 MiB okular (2)
151.8 MiB + 2.8 MiB = 154.6 MiB soffice.bin
3.7 GiB + 209.3 MiB = 4.0 GiB chromium (39)
---------------------------------
4.6 GiB
=================================
共有メモリの意味は何ですか?
質問14102の主な回答は次のとおりです。shared:存在しない概念。下位互換性のために出力に残されています。私には不十分に見えます。 「存在しない」という概念は、600 MB以上のRAMを必要としません。
free
の「共有」および_/proc/meminfo
_の「Shmem」は、tmpfsファイルシステム(メモリ内のファイルシステム)によって使用されるすべてのメモリと、共有メモリ(shmget(2)
)。これは https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt に記載されています。
これは私のサーバーの1つからの例です:
_$ free -k
total used free shared buff/cache available
Mem: 264036296 1275384 254696692 1182024 8064220 260536208
Swap: 63998972 0 63998972
$ grep Shmem /proc/meminfo
Shmem: 1182024 kB
$ df -BK | grep tmpfs
tmpfs 26403632K 51424K 26352208K 1% /run
tmpfs 132018148K 224K 132017924K 1% /dev/shm
tmpfs 5120K 4K 5116K 1% /run/lock
tmpfs 132018148K 0K 132018148K 0% /sys/fs/cgroup
tmpfs 251658240K 1129036K 250529204K 1% /run/shm
tmpfs 26403632K 24K 26403608K 1% /run/user/108
tmpfs 26403632K 0K 26403632K 0% /run/user/5800006
_
df
でリストされたすべてのtmpfsファイルシステムの使用済みサイズ(3列目)を合計すると、合計は「共有」と「shmem」に等しいことがわかります。