Ниже представлен вывод free в Ubuntu:
$ free
total used free shared buffers cached
Mem: 8173180 8013092 160088 0 1076276 3091136
-/+ buffers/cache: 3845680 4327500
Swap: 11719380 312 11719068
Общая физическая память составляет 8 ГБ. Общая используемая память близка к этому, но общая память, используемая буферным кэшем, составляет половину этого, примерно 4 ГБ. Практически никакая память не используется как подкачка.
Теперь буферный кэш выводится, потому что у нас были операции чтения/записи на диск, а затем после первого раза приложения загружаются в память до тех пор, пока они больше не нужны, чтобы ускорить операции чтения/записи. Таким образом, общий объем операций чтения/записи для буферизации диска составляет 4 ГБ.
Хорошо, но какие процессы используют остальные 4 гига физической памяти (исключая буферный кэш)? Как это определить?
решение1
Оставшаяся память используется для кучи и стека различных программ, запущенных в вашей системе. Как сказал Джоэл Дэвис в своем комментарии, вы можете использовать gnome-system-monitor
или ps
(хотя вы хотите rss
вместо vsize
), чтобы увидеть, какие программы ее используют. Вы также можете использовать top
инструмент командной строки, который сортирует по использованию ЦП по умолчанию. Введите Mи он переключится на сортировку по использованию памяти.
Также я хотел бы исправить недоразумение: своп неиспользоватьпамять. Это 312 не означает, что 312 КБ ОЗУ используется для подкачки. На самом деле это означает, что 312 КБ подкачки используется вместо ОЗУ. Если на вашем компьютере заканчивается ОЗУ, он начинает записывать содержимое памяти на диск («пейджинг»), чтобы освободить эту ОЗУ. Это число подкачки говорит вам, сколько ОЗУ было записано на диск.