출력의 네 번째 열 free
이름은 shared 입니다. 인터넷에서 볼 수있는 대부분의 출력에서 공유 메모리는 0입니다. 그러나 내 컴퓨터에서는 그렇지 않습니다.
$ 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의 주요 답변은 다음 과 같습니다 . 공유 : 더 이상 존재하지 않는 개념. 이전 버전과의 호환성을 위해 출력에 남아 있습니다. 나에게 부족해 보인다. “존재하지 않는”개념은 600MB 이상의 RAM을 사용하지 않습니다.
답변
“공유” free
및 “Shmem” /proc/meminfo
은 tmpfs 파일 시스템 (메모리의 파일 시스템)이 사용하는 모든 메모리와 공유 메모리 (에 의해 할당 됨 shmget(2)
)를 계산합니다. 이것은 https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt에 설명되어 있습니다 .
다음은 내 서버 중 하나의 예입니다.
$ 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
로 나열된 모든 tmpfs 파일 시스템의 사용 된 크기 (3 번째 열)를 df
합하면 합계가 “shared”및 “shmem”과 같습니다.