Из-за временных ограничений на территории РФ наблюдаются проблемы с оплатой. Если платёж не проходит, оставьте запрос в службу поддержки.Служба поддержки работает 24/7 — мы всегда на связи по вопросам хостинга и серверов.Открыт прием заявок на аренду выделенных серверов и размещение оборудования в дата-центре.Напоминаем: рекомендуем включить резервное копирование для дополнительной защиты данных.Доступна новая линейка VPS/VDS с NVMe-дисками и увеличенной производительностью.Технические работы на части серверов завершены. Все сервисы работают в штатном режиме.
Статья4 мин чтенияПросмотры0

Как узнать, какой процесс использует swap в Linux

Безопасная диагностика swap в Ubuntu: проверяем активные области подкачки, читаем VmSwap для процессов и правильно трактуем результат без очистки памяти.

Комментарии 0

Серверный монитор с модулями памяти и накопителем подкачки без надписей
В этой статье

Swap занят, но сервер работает нормально — это возможно. Linux не обязан немедленно возвращать редко используемые страницы из подкачки в RAM. Сам факт ненулевого swap не доказывает нехватку памяти и не требует отключать подкачку. Сначала нужно понять общий объём и процессы, у которых ядро учитывает выгруженные страницы.

Руководство применимо к Ubuntu 24.04 LTS и другим современным Linux с файловой системой procfs. Команды только читают состояние. Они не очищают swap, не перезапускают службы и не меняют параметры ядра. Проверено 25 сентября 2026 года по Linux manual pages и справке smem. Команды swapon и чтения VmSwap фактически выполнены в изолированной Ubuntu 24.04.3 LTS с ядром 6.18.44. Активного swap и установленного smem на стенде не было, поэтому для них проверены только пустой результат и доступность, а синтаксис сортировки smem сверен с документацией.

Проверьте, включён ли swap

swapon --show --bytes

Команда swapon показывает активные файлы и разделы подкачки. Ключ --bytes выводит размеры в байтах и упрощает машинное сравнение. Если таблица пуста, активной области подкачки нет; искать процессы с использованным swap в этот момент бессмысленно.

Если swap включён, обратите внимание на общий размер и использованный объём. Это только отправная точка: число не показывает, когда страницы попали в подкачку и испытывает ли система давление памяти сейчас.

Посмотрите поле VmSwap у одного процесса

Ядро публикует состояние процесса в файле /proc/PID/status. Вместо PID подставляют числовой идентификатор существующего процесса.

grep '^VmSwap:' /proc/PID/status

Поле VmSwap показывает объём анонимных приватных данных процесса, учтённых в swap. Значение приводится в килобайтах. Файл может быть недоступен обычному пользователю из-за прав или настройки hidepid у procfs; это не причина ослаблять защиту.

Соберите процессы с ненулевым VmSwap

Если в системе уже установлен smem, он собирает значения по процессам и сортирует их по объёму подкачки. Сначала убедитесь, что команда доступна; устанавливать новый пакет на перегруженном сервере только ради срочной диагностики не обязательно.

command -v smem

smem -rs swap -k

Ключ -r включает обратную сортировку, -s выбирает поле swap, а -k добавляет удобные суффиксы единиц. Процессы других пользователей могут быть не видны полностью; при необходимости диагностику проводит администратор с разрешёнными правами. Если smem отсутствует, проверяйте выбранные PID через поле VmSwap или используйте штатный мониторинг сервера.

Как читать результат

Наблюдение

Что это может означать

Следующая проверка

Swap занят, список стабилен, ошибок нет

Старые редко используемые страницы остались в подкачке

Смотреть доступную RAM и текущую активность подкачки

Значения быстро растут у одного процесса

Процесс увеличивает память или испытывает давление

Проверить RSS, лимиты и журналы приложения

Много процессов с небольшими значениями

Фоновая выгрузка неактивных страниц

Оценить систему целиком, не завершать процессы по списку

Swap заполнен и сайт замедляется

Возможна нехватка памяти или постоянный обмен с диском

Проверить память, диск, OOM и динамику, затем искать причину

Поле VmSwap не равно всей виртуальной памяти процесса и не заменяет анализ RSS, cgroup-лимитов и общей активности ввода-вывода. Сумма по процессам также может не совпасть с общим использованием swap из-за особенностей учёта и уже завершившихся процессов.

Чего не делать во время диагностики

  • Не отключайте swap только ради получения нуля: возврат страниц потребует RAM и может привести к нехватке памяти.

  • Не завершайте процесс лишь потому, что он стоит первым в списке. Важны динамика, роль процесса и симптомы приложения.

  • Не меняйте swappiness по одной фотографии состояния. Сначала соберите наблюдения во времени и определите реальное узкое место.

  • Не запускайте тяжёлые обходы procfs слишком часто на большом сервере; для постоянного мониторинга используйте штатную систему метрик.

Остановите самостоятельную диагностику и привлеките администратора, если одновременно растёт swap, система перестаёт отвечать, в журнале появляются события OOM или неизвестно, какие службы можно безопасно ограничить. В таком состоянии попытка «быстро очистить память» способна усилить простой.

Обсуждение 0

Делись опытом и задавай вопросы. Комментарии без ссылок появляются после проверки редактором.

Пока никто не написал. Начни обсуждение.