Большая часть времени сисадмина уходит на поиск причины нагрузки, например на систему. Поиск процессов, которые потребляют ресурсы. Эта статья поможет вам быстро найти высоконагруженные процессы CPU в Linux.
1. Обнаружение главных процессов процессора в Linux с помощью команды ps.
Существует один линейный код доступный с командой ps, которая поможет вам найти высоконагруженные процессы процессора в Linux.
Команда:
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
Пример вывода:
[root@destroyer ~]# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head PID PPID CMD %MEM %CPU 23236 20520 dd if=/dev/zero of=/dev/nul 0.0 85.3 19509 1 /usr/bin/Xvnc :1 -desktop r 0.7 0.2 19559 19514 nautilus 0.3 0.2 19668 1 /usr/lib64/firefox-3.6/fire 2.2 0.2 1 0 /sbin/init 0.0 0.0 2 0 [kthreadd] 0.0 0.0 3 2 [migration/0] 0.0 0.0 4 2 [ksoftirqd/0] 0.0 0.0 5 2 [migration/0] 0.0 0.0 [root@destroyer ~]#
2. Постоянное наблюдение высоконагруженных процессов процессора в Linux.
Допустим, вы не хотите ни одного примера вывода команды, вместо этого вы хотите контролировать вывод непрерывно. Да, вы можете сделать это с помощью команды watch, как показано ниже:
Команда:
[root@destroyer ~]# watch "ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head"
Пример вывода:
Every 2.0s: ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head Tue Apr 20 13:35:32 2017 PID PPID CMD %MEM %CPU 22361 20520 dd if=/dev/zero of=/dev/nul 0.0 85.3 18976 1 /usr/bin/Xvnc :1 -desktop r 0.7 0.2 18989 19514 nautilus 0.3 0.2 19234 1 /usr/lib64/firefox-3.6/fire 2.2 0.1 1 0 /sbin/init 0.0 0.0 2 0 [kthreadd] 0.0 0.0 3 2 [migration/0] 0.0 0.0 4 2 [ksoftirqd/0] 0.0 0.0 5 2 [migration/0] 0.0 0.0
3. Высоконагруженные процессы CPU в Linux с помощью команды top.
Тот же вывод команды ps также может быть достигнуто с использованием нативной команды top в Linux, чтобы найти активные процессы процессора в Linux.
Команда:
[root@destroyer ~]# top -b -n 1 | head -n 12 | tail -n 6
Пример вывода:
[root@destroyer ~]# top -b -n 1 | head -n 12 | tail -n 6 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 22361 root 20 0 102m 345 568 R 100.0 0.0 08:34.12 dd 22379 root 20 0 14563 1221 848 R 2.0 0.0 0:00.01 top 1 root 20 0 14352 1435 1324 S 0.0 0.0 0:01.34 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd 3 root RT 0 0 0 0 S 0.0 0.0 0:05.08 migration/0 [root@destroyer ~]#
4. Найдите высоконагруженные процессы CPU в Linux с помощью команды htop.
Похожая на утилиту top команда htop в Linux, которая поможет вам найти высоконагруженные процессы центрального процессора в Linux. Чтобы найти их, используйте команду «htop».
Команда:
[root@destroyer ~]# htop
После того, как вы ввели команду htop, непрерывный ход откроется окно сверху, как показано ниже:
Теперь, чтобы разобраться в процессах по использованию центрального процессора, просто нажмите кнопку «F6», а затем выберите процессор и нажмите клавишу ENTER. Теперь вы будете видеть процессы, отсортированных по использованию центрального процессора, как показано ниже: