См. Следующий снимок экрана:
"Общий" объем памяти составляет 8 ГБ обеими htop
и free
, но пока free
сообщает, что "использовано" только 2,7 ГБ, htop
сообщает, что используется 7,53 ГБ. free
сообщает, что 5 ГБ - это буферы / кеш, а htop
сообщает об этом как о 100 МБ.
думаю htop
здесь правильно, потому что система медленная и kswapd0
имеет высокую загрузку процессора.
В чем причина этого несоответствия?
https://www.linuxatemyram.com/
Классическая путаница в отношении кэширования и использования. htop
считает кешированные как использованные, но free
не является. Поскольку это Linux, прочтите /proc/meminfo
сами и посмотрите, как счетчики соотносятся друг с другом.
Изменить: вы спросили конкретно о разнице в кешировании.
свободный от procps, по-видимому, делает кеш страницы плюс восстанавливаемый блок. Из proc / sysinfo.c
kb_main_cached = kb_page_cache + kb_slab_reclaimable;
htop - это страничный кеш плюс освобождение slab минус разделяемая память. linux / LinuxProcessList.c
this->cachedMem = this->cachedMem + sreclaimable - shmem;
Честно говоря, на современном Linux я бы посмотрел на MemAvailable
и некоторые другие счетчики напрямую в / proc / meminfo. Если бы меня волновали числа.
Инструменты производительности, хотя и очень полезны, могут вводить в заблуждение, сбивать с толку и плохо документироваться. Не думайте, что разные инструменты вычисляют одноименный объект по одному и тому же алгоритму.
Вялое и медленное время отклика могло быть чем угодно. Ограничения на количество операций ввода-вывода в секунду для хранилища или время отклика, страницы памяти из-за медленного хранилища, высокой загрузки ЦП (возможно, не в тот момент, когда вы сделали этот снимок экрана), медленной сети, плохо написанных приложений и т. Д.
Определите количественно, что происходит медленно и в каком объеме. У вас работает много приложений: μTorrent Server, mysql, mongo, plex, некоторые другие контейнеры. Включите журналы медленных запросов. Профильные приложения. Зарегистрируйте все возможные метрики производительности в базе данных временных рядов и посмотрите на графики.