ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

4 удивительных способов поиска высоконагруженных процессов CPU в Linux.

Большая часть времени сисадмина уходит на поиск причины нагрузки, например на систему. Поиск процессов, которые потребляют ресурсы. Эта статья поможет вам быстро найти высоконагруженные процессы 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, непрерывный ход откроется окно сверху, как показано ниже:

топ-процессы потребляющего процессора в Linux

Теперь, чтобы разобраться в процессах по использованию центрального процессора, просто нажмите кнопку «F6», а затем выберите процессор и нажмите клавишу ENTER. Теперь вы будете видеть процессы, отсортированных по использованию центрального процессора, как показано ниже:

top-cpu-consuming-processes-in-Linux1

Exit mobile version