Найти, что грузит процессор
Открой top, нажми P (сортировка по CPU) и c (полная командная строка). Верхняя
строка таблицы — главный потребитель. %CPU больше 100 значит, что процесс занял
несколько ядер.
Программа top каждые несколько секунд обновляет список процессов, загрузку CPU, память и load average.
top
живой список процессов; q — выход
top -o %MEM
сразу сортировка по памяти
top -u student
процессы одного пользователя
top -p 1234,1240
только эти PID
top -d 5
обновлять раз в 5 секунд
top -b -n 1 | head -n 15
один снимок текстом — для отчёта
top — ps, который не останавливается: раз в три секунды он перерисовывает
экран. Сверху — сводка по машине, ниже — таблица процессов, по умолчанию самые
прожорливые по CPU наверху.
| Строка сводки | Что в ней смотреть |
|---|---|
load average |
средняя очередь на CPU за 1, 5 и 15 минут; сравнивай с числом ядер (nproc) |
Tasks |
сколько процессов, есть ли zombie |
%Cpu(s) |
us — программы, sy — ядро, id — простой, wa — ожидание диска, st — отобрал гипервизор |
MiB Mem |
total, free, used, buff/cache — кэш файлов, его ядро отдаст при нужде |
MiB Swap |
avail Mem — сколько памяти доступно программам на самом деле |
Колонки таблицы: PID, USER, PR и NI — приоритет, VIRT, RES, SHR —
память в КиБ (RES — реально занятая), S — состояние (как STAT в ps),
%CPU, %MEM, TIME+ — накопленное процессорное время, COMMAND.
Большинство настроек удобнее менять клавишами внутри top, ключи запуска нужны
для скриптов и снимков. Полный список — man top.
| Ключ | Что делает | Пример |
|---|---|---|
-o field |
Сортировать по колонке — %CPU, %MEM, TIME+. | top -o %MEM |
-u user |
Показывать процессы только этого пользователя. | top -u student |
-p PID |
Следить только за этими PID (через запятую). | top -p 1234,1240 |
-d seconds |
Интервал обновления в секундах. | top -d 5 |
-b |
Пакетный режим — обычный текст для файла или конвейера. | top -b -n 1 |
-n N |
Выйти после N обновлений. | top -b -n 3 -d 2 |
-H |
Показывать потоки, а не только процессы. | top -H -p 1234 |
Ничего не найдено. Попробуй запрос короче.
Открой top, нажми P (сортировка по CPU) и c (полная командная строка). Верхняя
строка таблицы — главный потребитель. %CPU больше 100 значит, что процесс занял
несколько ядер.
Нажми M: сортировка по %MEM. Смотри RES, а не VIRT: VIRT включает
зарезервированное, но не занятое. Что делать дальше — memory-swap.
Нажми k, введи PID (по умолчанию предложен верхний процесс) и сигнал: Enter
отправит 15 (SIGTERM). Подробнее о сигналах — kill.
-b (batch) печатает обычный текст без перерисовки экрана, -n 1 — один снимок.
htop — та же идея с цветом, мышью и прокруткой. Если он установлен, клавиши
подписаны внизу экрана: F6 — сортировка, F9 — сигнал, F10 — выход.
В очереди стоят процессы в состоянии D, которые ждут диск. Смотри wa в строке
%Cpu(s) и процессы с S = D. Разбор по шагам — system-monitoring.
Нет, если велики buff/cache и avail Mem: Linux держит свободную память под кэш
файлов и отдаёт её программам по требованию. Тревожный признак — маленький
avail Mem и растущий used в Swap.
Процент считается от одного ядра: многопоточная программа на нескольких ядрах
набирает больше 100. Клавиша 1 покажет загрузку каждого ядра отдельно.
q. Если top ждёт ввода (после k, o или u), сначала Esc.
Без -b top рисует экран управляющими кодами. Для > файл и | grep всегда
используй top -b -n 1.
Есть неточность? Сообщить об ошибке в статье