`free` 명령에서`shared` 메모리의 의미는 무엇입니까?


12

출력의 네 번째 열 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을 사용하지 않습니다.



당신은 시도 man free했습니까?
Archemar

@Archemar 맨 페이지 : "공유 : tmpfs (/ hm / proc / meminfo의 Shmem)에서 주로 사용하는 메모리" " 그것은 명확하지 않습니다. 좀 더 자세한 설명을 원합니다.
BertS

답변:


5

"공유" 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"과 같습니다.


설명 해주셔서 감사합니다. tmpfs필요한 것들입니다. 삭제할 수 있습니까? 가능한 경우 어떻게 삭제합니까? 최대 절전 모드에서 시스템을 깨운 shared
후이

2
@KasunSiyambalapitiya 님 안녕하세요. Shmem에는 커널 소스 주석 및 list.kernelnewbies.org/pipermail/kernelnewbies/2013-July/…에 따라 GEM 그래픽 버퍼도 포함되어 있습니다. 일부 이전 버전의 systemd는 그래픽 서버가 종료 될 때 그래픽 버퍼가 심하게 누수되는 버그가있었습니다. unix.stackexchange.com/questions/431982/... . 이 특정 문제는 전체 그래픽 세션이 중단되었거나 의도적으로 전체 세션에서 로그 아웃했다가 다시 로그인 한 경우에만 적용될 수 있습니다.
sourcejedi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.