A quarta coluna na saída de free
é nomeada compartilhada . Na maioria das saídas que vejo na internet, a memória compartilhada é zero. Mas esse não é o caso no meu computador:
$ 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
Aqui também está um trecho da saída de 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
=================================
Qual é o significado de uma memória compartilhada ?
A resposta principal da pergunta 14102 diz: shared: um conceito que não existe mais. É deixado na saída para compatibilidade com versões anteriores . Parece insuficiente para mim. Um conceito "inexistente" não ocupa mais de 600 MB de RAM.
man free
?Respostas:
"Shared"
free
e "Shmem"/proc/meminfo
contam toda a memória usada pelo sistema de arquivos tmpfs (um sistema de arquivos na memória) e também a memória compartilhada (alocada porshmget(2)
). Isso está documentado em https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt .Aqui está um exemplo de um dos meus servidores:
Se você resumir o tamanho usado (terceira coluna) de todos os sistemas de arquivos tmpfs listados por
df
, encontrará a soma igual a "shared" e "shmem".fonte
tmpfs
necessários. Posso excluí-los e, se possível, como excluí-los ?. Eu tenho encontrar esse problema muitas vezes depois de acordar o sistema do estado de hibernação (~ 4GB é tomado porshared
)