Czwarta kolumna w danych wyjściowych free
nosi nazwę shared . Na większości wyjść, które widzę w Internecie, pamięć współdzielona wynosi zero. Ale tak nie jest na moim komputerze:
$ 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
Oto także fragment wyników 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
=================================
Jakie jest znaczenie wspólnej pamięci?
Główna odpowiedź w pytaniu 14102 brzmi: wspólne: koncepcja, która już nie istnieje. Zostaje na wyjściu dla kompatybilności wstecznej . Wygląda mi na niewystarczającą. „Nieistniejąca” koncepcja nie wymaga ponad 600 MB pamięci RAM.
man free
?Odpowiedzi:
„Shared” in
free
i „Shmem” in/proc/meminfo
liczą całą pamięć używaną przez system plików tmpfs (system plików w pamięci), a także pamięć współdzieloną (przydzielaną przezshmget(2)
). Jest to udokumentowane w https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt .Oto przykład z jednego z moich serwerów:
Jeśli zsumujesz używany rozmiar (trzecia kolumna) wszystkich systemów plików tmpfs wymienionych przez
df
, okaże się, że suma jest równa „współużytkowanemu” i „shmem”.źródło
tmpfs
one potrzebne. Czy mogę je usunąć i, jeśli to możliwe, jak je usunąć ?. Problem ten napotykałem wiele razy po przebudzeniu systemu ze stanu hibernacji (około 4 GB zajmujeshared
)