TGViewer
Linux Books Linux Books @linux_read · 16.1K subscribers
Post #549 4.73K
🔍 Как точно измерить, сколько памяти реально использует процесс в Linux

Когда система тормозит, первым делом смотрят top или ps, но эти инструменты вводят в заблуждение. Они показывают RSS (Resident Set Size), который считает общую память как свою.

Например: если 5 процессов используют одну и ту же библиотеку на 100 МБ, RSS прибавит по 100 МБ к каждому, хотя в реальности эта память занимает только 100 МБ в RAM.

Чтобы понять реальный вклад процесса в потребление памяти, нужно смотреть PSS (Proportional Set Size) — метрику, которая делит общую память пропорционально между всеми пользователями.
📊 Три ключевые метрики:

- VSZ (Virtual Set Size) — общий виртуальный объём памяти, выделенный процессу.
→ Включает код, данные, библиотеки, маппинг файлов… но многое из этого может вообще не быть в RAM.
Не показывает реальное потребление RAM.

- RSS (Resident Set Size) — сколько памяти процесса фактически загружено в RAM сейчас.
→ Но считает общую память целиком, даже если она используется десятком других процессов.
Завышает реальное потребление.

- PSS (Proportional Set Size)настоящий объём памяти, который освободится при завершении процесса.
→ Общая память делится поровну: если 3 процесса используют библиотеку на 90 МБ → каждый «платит» по 30 МБ.
Это самая точная метрика для оценки нагрузки на RAM.

🔧 Как получить PSS?

1. Найдите PID процесса:

pidof nginx
# или
ps aux | grep nginx


🔍 Как точно измерить, сколько памяти реально использует процесс в Linux

Когда система тормозит, первым делом смотрят top или ps — но эти инструменты вводят в заблуждение. Они показывают RSS (Resident Set Size), который считает общую память как свою.

Например: если 5 процессов используют одну и ту же библиотеку на 100 МБ, RSS прибавит по 100 МБ к каждому — хотя в реальности эта память занимает только 100 МБ в RAM.

Чтобы понять реальный вклад процесса в потребление памяти, нужно смотреть PSS (Proportional Set Size) - метрику, которая делит общую память пропорционально между всеми пользователями.

📊 Три ключевые метрики:

- VSZ (Virtual Set Size) — общий виртуальный объём памяти, выделенный процессу.
→ Включает код, данные, библиотеки, маппинг файлов… но многое из этого может вообще не быть в RAM.
Не показывает реальное потребление RAM.

- RSS (Resident Set Size) — сколько памяти процесса фактически загружено в RAM сейчас.
→ Но считает общую память целиком, даже если она используется десятком других процессов.
Завышает реальное потребление.

- PSS (Proportional Set Size)настоящий объём памяти, который освободится при завершении процесса.
→ Общая память делится поровну: если 3 процесса используют библиотеку на 90 МБ → каждый «платит» по 30 МБ.
Это самая точная метрика для оценки нагрузки на RAM.

🔧 Как получить PSS?

1. Найдите PID процесса:

pidof nginx
# или
ps aux | grep nginx


2 Посчитайте суммарный PSS через /proc/[PID]/smaps:


sudo awk '/^Pss:/ { total += $2 } END { print total " kB" }' /proc/12345/smaps



Или, если у вас ядро Linux ≥ 4.15 — используйте готовую сводку:


sudo cat /proc/12345/smaps_rollup | grep Pss:


💡 Пример: процесс может показывать RSS = 800 МБ, но PSS = 120 МБ. Это значит, что только 120 МБ — его реальный вклад в использование RAM, остальное - общие библиотеки.

✅ Вывод
• Не доверяйте RSS из top или ps — он завышает потребление.
• Используйте PSS, чтобы понять, сколько памяти реально освободится, если убить процесс.
• Для точной диагностики всегда смотрите в /proc/[PID]/smaps или /proc/[PID]/smaps_rollup.

Источник: How to Accurately Check Memory Consumption of a Process in Linux
  • ❤ 9
  • 👍 8
  • 🔥 7
  • 👎 3
More from @linux_read
  1. Sep 22, 2026photo post
  2. Sep 11, 2026🐧 Управление пакетами в Linux через yum На старых системах семейства RHEL для установки и…
  3. Sep 4, 2026⚡️ AI-агенты научились автономно разрабатывать софт несколько дней подряд В новой работе п…
  4. Sep 4, 2026🔥 Python + AI без игрушечных демок. Курс для тех, кто хочет собирать рабочие системы. Ste…
  5. Sep 4, 2026💡 Продвинутый Linux Совет - файл удалён, а место на диске не освободилось Иногда rm удаля…
  6. Aug 25, 2026Ядру Linux исполнилось 35 лет 25 августа 1991 года после пяти месяцев разработки 21-летний…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →