Высокая нагрузка на процессор -?

top - 06:49:29 up 16 days,  4:04,  1 user,  load average: 1.29, 1.41, 1.51
Tasks: 113 total,   2 running, 111 sleeping,   0 stopped,   0 zombie
%Cpu(s): 89.3 us, 10.7 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1015912 total,    98976 free,   157212 used,   759724 buff/cache
KiB Swap:  2097148 total,  1861284 free,   235864 used.   644952 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
  835 root      20   0  734828  40864   8564 S  5.0  4.0 355:51.95 fortnoxd
20518 root      20   0  748864  41780  12884 S  4.0  4.1  64:35.14 travelpayd
 3147 root      20   0  982540  23532   6712 S  2.3  2.3 295:10.06 node
11230 root      20   0  679384  21044  13552 R  1.7  2.1   0:00.05 nodejs
30422 mongodb   20   0  319176   4184      0 S  0.7  0.4  66:08.82 mongod
    7 root      20   0       0      0      0 S  0.3  0.0  16:20.24 rcu_sched
  984 root      20   0       0      0      0 S  0.3  0.0   4:42.43 hwrng
29166 root      20   0   42084   3736   3176 R  0.3  0.4   0:00.23 top
    1 root      20   0   37968   5548   3584 S  0.0  0.5   0:32.93 systemd
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.20 kthreadd
    3 root      20   0       0      0      0 S  0.0  0.0   3:19.36 ksoftirqd/0
    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh
    9 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0
   10 root      rt   0       0      0      0 S  0.0  0.0   0:04.40 watchdog/0
   11 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs

Здравствуйте, Stackexchange, у меня недавно были некоторые проблемы, связанные с высокой загрузкой процессора, я пользуюсь платным сервисом от Vultr, и они жалуются, что я использую слишком много ресурсов процессора. Это мой топ-лист, на сайте vultr написано: используя 105% мощности процессора на этом сервере, хотя я вижу только 12% используемых?

Являются ли эти 4 процесса единственными, потребляющими электроэнергию, или есть другие вещи, которые могут вызвать интенсивное использование?

835 root      20   0  734828  40864   8564 S  5.0  4.0 355:51.95 fortnoxd
20518 root      20   0  748864  41780  12884 S  4.0  4.1  64:35.14 travelpayd
 3147 root      20   0  982540  23532   6712 S  2.3  2.3 295:10.06 node
11230 root      20   0  679384  21044  13552 R  1.7  2.1   0:00.05 nodejs


root@server-nodes:/# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 60
Model name:            Virtual CPU 714389bda930
Stepping:              1
CPU MHz:               2399.996
BogoMIPS:              4799.99
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
L3 cache:              16384K
NUMA node0 CPU(s):     0

1 ответ

Первый и самый важный вопрос: производительность хоста соответствует вашим требованиям. Время отклика пользователя, пропускная способность. Если нет, измените его: сделайте рабочую нагрузку более эффективной или добавьте больше ресурсов (больше процессоров, масштабируйтесь до большего количества блоков).

У вас есть 1 процессор, который иногда сообщает о средней загрузке 1,5. В среднем более одной задачи, ожидающей выполнения, будут полностью использовать блок 1 ЦП. ( Являются ли полностью использованные средства остановленными, другой вопрос.)

Обратите внимание на странице руководства, что измеряет верх:

% ЦП - загрузка ЦП Доля задачи, затраченная с момента последнего обновления экрана, в процентах от общего времени ЦП.

Так как последний интервал обновления сверху может не перехватить пачки до 100%. Посмотрите на столбец ВРЕМЯ для общего ЦП, потребленного за время жизни процесса.

Также попробуйте другие инструменты производительности Linux, их много. perf top например, покажет, где именно в коде пользователя или ядра находятся топ-задания.

Другие вопросы по тегам