Содержание

Как просмотреть нагрузку на процессор в Linux

В Linux потребление ресурсов CPU, с сортировкой по наибольшей загрузке, можно посмотреть при помощи двух команд: ps и top.

Важный нюанс: Значение в столбце "CPU" в обоих командах считается от загрузки одного ядра процессора. Таким образом сумма процентов на многоядерных машинах будет больше 100%. К примеру для четырехядерного процессора суммарный процент потребления всех процессов не может превышать 400%.

Рассмотрим каждую из команд подробней.

Команда ps

Для запуска введите в консоли ОС команду:

ps -aux --sort -pcpu

Пример вывода команды:

$ ps -aux --sort -rss
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
user      30799 51.2  8.1 2733764 285136 ?      Rl   09:25   5:30 /usr/lib/chromium-browser/chromium-browser --ppapi-flash-path=/usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so --ppap
user       2800  0.1  6.6 9972812 234184 ?      Sl   окт31   1:26 /usr/bin/plasmashell --shut-up
user      31308  2.4  5.3 1767496 188672 ?      Sl   09:26   0:13 /usr/lib/chromium-browser/chromium-browser --type=renderer --enable-pinch --field-trial-handle=7228759356551874141,180166971
user      31011  3.9  5.3 1793296 186812 ?      Sl   09:25   0:25 /usr/lib/chromium-browser/chromium-browser --type=renderer --enable-pinch --field-trial-handle=7228759356551874141,180166971
user      31369  5.5  4.8 1378568 171328 ?      Sl   09:28   0:23 /usr/lib/libreoffice/program/soffice.bin --writer --splash-pipe=5
user      14442 12.1  4.2 1050808 150148 ?      Sl   01:19  60:04 /usr/lib/x86_64-linux-gnu/libexec/kscreenlocker_greet --graceTime 5000 --ksldfd 26
user      31111  0.9  3.8 1708496 134564 ?      Sl   09:25   0:06 /usr/lib/chromium-browser/chromium-browser --type=renderer --enable-pinch --field-trial-handle=7228759356551874141,180166971
user       1225  0.0  3.7 3639148 132092 ?      Sl   окт31   1:00 /usr/bin/plasmashell --shut-up
user      31078  0.6  3.7 1724480 130724 ?      Sl   09:25   0:03 /usr/lib/chromium-browser/chromium-browser --type=renderer --enable-pinch --field-trial-handle=7228759356551874141,180166971
user      30986  0.7  3.3 1717860 117660 ?      Sl   09:25   0:04 /usr/lib/chromium-browser/chromium-browser --type=renderer --enable-pinch --field-trial-handle=7228759356551874141,180166971
user       1216  1.7  3.2 3271220 113736 ?      Sl   окт31  20:36 kwin_x11

Важными столбцами являются:

  • USER     Пользователь, от имени которого работает процесс
  • PID         Идентификатор процесса
  • %CPU    Процент загрузки ядра

Согласно данному выводу можно понять, что экземпляр программы dd с PID=31712 практически полностью использует одно ядро процессора.

help-linux-vps.png

Команда top

Также загрузку процессора можно посмотреть в интерактивном режиме при помощи команды top. Для запуска введите в консоли ОС команду:

top

Пример вывода команды:

top - 15:13:56 up 8 days,  5:18,  4 users,  load average: 0,01, 0,04, 0,05
Tasks: 124 total,   1 running, 123 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0,0 us,  0,0 sy,  0,0 ni, 99,9 id,  0,1 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem:   2060916 total,  1714780 used,   346136 free,   184580 buffers
KiB Swap:   901116 total,        0 used,   901116 free,   999472 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
22684 root      20   0 24768 1476 1016 R   0,3  0,1   0:00.01 top
    1 root      20   0 15444  756  612 S   0,0  0,0   0:08.79 init
    2 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kthreadd
    3 root      20   0     0    0    0 S   0,0  0,0   1:08.03 ksoftirqd/0
    5 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kworker/u:0
    6 root      rt   0     0    0    0 S   0,0  0,0   0:00.77 migration/0
    7 root      rt   0     0    0    0 S   0,0  0,0   0:02.81 watchdog/0
    8 root      rt   0     0    0    0 S   0,0  0,0   0:00.77 migration/1
   10 root      20   0     0    0    0 S   0,0  0,0   0:04.40 ksoftirqd/1
   12 root      rt   0     0    0    0 S   0,0  0,0   0:02.40 watchdog/1
   13 root      rt   0     0    0    0 S   0,0  0,0   0:01.50 migration/2
   15 root      20   0     0    0    0 S   0,0  0,0   0:04.33 ksoftirqd/2
   16 root      rt   0     0    0    0 S   0,0  0,0   0:02.26 watchdog/2
   17 root      rt   0     0    0    0 S   0,0  0,0   0:00.49 migration/3
   19 root      20   0     0    0    0 S   0,0  0,0   0:03.73 ksoftirqd/3
   20 root      rt   0     0    0    0 S   0,0  0,0   0:02.21 watchdog/3
   21 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 cpuset
   22 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 khelper
   23 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kdevtmpfs
   24 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 netns
   25 root      20   0     0    0    0 S   0,0  0,0   0:01.84 sync_supers
   26 root      20   0     0    0    0 S   0,0  0,0   0:00.05 bdi-default
   27 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 kintegrityd
   28 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 kblockd
   30 root      20   0     0    0    0 S   0,0  0,0   0:08.20 kworker/2:1
   31 root      20   0     0    0    0 S   0,0  0,0   0:01.98 kworker/3:1
   32 root      20   0     0    0    0 S   0,0  0,0   0:00.32 khungtaskd
   33 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kswapd0
   34 root      25   5     0    0    0 S   0,0  0,0   0:00.00 ksmd
   35 root      39  19     0    0    0 S   0,0  0,0   0:00.00 khugepaged
   36 root      20   0     0    0    0 S   0,0  0,0   0:00.00 fsnotify_mark
   37 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 crypto
  103 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 ata_sff
  111 root      20   0     0    0    0 S   0,0  0,0   0:00.00 scsi_eh_0
  114 root      20   0     0    0    0 S   0,0  0,0   0:00.01 scsi_eh_1
  115 root      20   0     0    0    0 S   0,0  0,0   0:15.02 kworker/u:1
  119 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 mpt_poll_0
  137 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 mpt/0
  165 root      20   0     0    0    0 S   0,0  0,0   0:00.00 scsi_eh_2
  169 root      20   0     0    0    0 S   0,0  0,0   0:11.68 kworker/3:2
  177 root      20   0     0    0    0 S   0,0  0,0   1:37.28 kworker/1:2
  207 root      20   0     0    0    0 S   0,0  0,0   0:07.77 flush-8:0
  213 root      20   0     0    0    0 S   0,0  0,0   0:21.32 jbd2/sda1-8
  214 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 ext4-dio-unwrit
  355 root      20   0 24140 1468  816 S   0,0  0,1   0:00.06 udevd
  502 root      20   0 24100 1096  468 S   0,0  0,1   0:00.00 udevd
  503 root      20   0 24100 1028  408 S   0,0  0,0   0:00.00 udevd
  527 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 kpsmoused
  528 root      20   0     0    0    0 S   0,0  0,0   0:04.36 kworker/2:2
  555 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 ttm_swap
 1842 root      20   0  152m 8928 4548 S   0,0  0,4   8:15.13 vmtoolsd
 1885 root      20   0 60288 9396 6444 S   0,0  0,5   0:00.04 VGAuthService
 1979 root      20   0  199m 5016 4128 S   0,0  0,2   3:19.79 ManagementAgent

Важными столбцами являются:

  • USER     Пользователь, от имени которого работает процесс
  • PID         Идентификатор процесса
  • %CPU    Процент загрузки ядра

Согласно данному выводу видно, что два процесса браузера Chromium используют по 40% возможностей одного из ядер процессора.