TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #404 2.69K
Как узнать, кто активно использует swap в Linux?

1️⃣ Проверка через top. В top по умолчанию нет колонки с использованием swap, но её можно включить:

1. Откройте top
2. Нажмите f, затем выберите Swap (s)
3. Подтвердите q - появится колонка с потреблением swap

Однако top не всегда корректно отображает эти данные, поэтому в htop колонку со swap вовсе убрали, чтобы не вводить пользователей в заблуждение.

2️⃣ Точный способ через /proc. Более надёжный способ – заглянуть в файлы /proc/$PID/smaps или /proc/$PID/status:

/proc/$PID/smaps – самый точный, но требует сложных вычислений
/proc/$PID/status – содержит суммарное значение в поле VmSwap, удобнее для быстрого анализа

✏️ Bash-скрипт для проверки. Можно использовать простой скрипт, который покажет, какие процессы активно используют swap:


#!/bin/bash
SUM=0
OVERALL=0
for DIR in $(find /proc/ -maxdepth 1 -type d -regex "^/proc/[0-9]+"); do
PID=$(basename $DIR)
PROGNAME=$(ps -p $PID -o comm --no-headers)
for SWAP in $(grep VmSwap $DIR/status 2>/dev/null | awk '{ print $2 }'); do
let SUM=$SUM+$SWAP
done
if (( $SUM > 0 )); then
echo "PID=$PID swapped $SUM KB ($PROGNAME)"
fi
let OVERALL=$OVERALL+$SUM
SUM=0
done
echo "Overall swap used: $OVERALL KB"


Этот скрипт проверяет VmSwap для каждого процесса и выводит общий объём использованного swap.

🌟 Быстрая проверка в одну команду. Если нет желания писать скрипты, можно просто выполнить:


for file in /proc/*/status; do
awk '/VmSwap|Name/{printf $2 " " $3} END { print ""}' $file
done | sort -k 2 -n -r | less


Эта команда отобразит процессы, отсортированные по объёму используемого swap.

#linux #swap #monitoring

🧑‍💻 NetworkAdmin
  • 👍 10
  • ❤ 4
More from @networkadminru
  1. Oct 1, 2026✨ Systemd-команды, которые быстро дают информацию о системе У systemd есть несколько коман…
  2. Sep 30, 2026🖥 Get-ADUser: полезные примеры для работы с пользователями Active Directory Get-ADUser -…
  3. Sep 29, 2026🥱 Как быстро разобраться с дисками и маунтами Когда на сервере несколько дисков, LVM, отд…
  4. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
  5. Sep 25, 2026🤩 Как расшифровать код ошибки Windows через certutil При установке обновлений Windows ран…
  6. Sep 23, 2026💻 Как жестко перезагрузить linux, когда обычный reboot уже не помогает Иногда сервер зави…
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 →