Когда система начинает тормозить или заканчивается RAM, первое, что нужно сделать - понять, какой процесс "жрёт" память.
Инструменты вроде
ps и top дают базовую картину, но часто вводят в заблуждение.Процесс может казаться тяжёлым, хотя большая часть его памяти *разделяется* с другими.
А лёгкий на вид, наоборот, использовать кэш и общие библиотеки, о которых вы не узнаете из простого вывода
top.Чтобы реально понять, что происходит, нужно заглянуть глубже, в файловую систему /proc.
Там лежит файл smaps, показывающий подробное распределение памяти по каждому процессу.
Перед тем как разбирать
smaps, стоит понять три ключевых метрики:- VSZ — виртуальная память процесса (всё, включая swap и shared).
- RSS — резидентная память (физически занятая в RAM).
- PSS — пропорциональное использование (реальный вклад процесса с учётом shared-страниц).
📘 Подробный гайд с разбором
/proc/<pid>/smaps и примерами: https://blog.sysxplore.com/p/how-to-accurately-check-process-memory-usage-in-linux
