VPS: процессорные швы будут находиться под большой нагрузкой, в то время как ни один процесс не производит такую ​​нагрузку?

361
Twisterado

Недавно я установил действительно дешевый VPS, главным образом, для целей резервного копирования, но я также хотел, чтобы он выполнял небольшие, незначительные задачи. Но поскольку я был слишком заинтересован, я хотел взглянуть на использование процессора и памяти, так как я получил (вероятно, часть) 1 ядро ​​неизвестного процессора и 128 МБ оперативной памяти под управлением Ubuntu 16.04 LTS. Я создал cronjob, вызывающий PHP Script, который проверяет использование процессора и памяти, и если хотя бы один из них высок, он запишет информацию в файл. Я использую команды PHP systeminfo для проверки загрузки процессора и MEM, а затем использую это, чтобы получить больше информации о процессах, использующих большую часть процессора.

Но по некоторым причинам это выводит это:

27.05. 20:05:12 CPU:109% - RAM:72.11% ps: 1.0 6556 php ps: 0.5 6518 /usr/sbin/mysqld ps: 0.0 1 init  28.05. 00:02:43 CPU:288% - RAM:39.45% ps: 0.1 19968 /usr/sbin/mysqld ps: 0.0 1 init ps: 0.0 2 [kthreadd/6457]  28.05. 00:05:01 CPU:158% - RAM:49.24% ps: 0.1 20046 /usr/bin/python3 ps: 0.0 1 init ps: 0.0 2 [kthreadd/6457] 

Итак, я получил дату и время, использование CPU и MEM PHP и ниже информацию из команды ps: загрузка процессора, PID и команда. Должен ли я умножить числа загрузки процессора на 100, чтобы получить%, или почему эти цифры так низки, когда очевидно, что процессор иногда загружен на 288%. Или это нормальное поведение для VPS и PHP измеряет реальную загрузку ЦП всей системы, в то время как ps показывает только нагрузку на мою часть ЦП или наоборот?

Может кто-нибудь объяснить, пожалуйста?

0
Во-первых, превыше всего ... Кажется, вы слишком обеспокоены этим. Поэтому я бы порекомендовал вам не беспокоиться об этом. Тем не менее, что происходит, когда вы бегаете просто `W`? Как насчет установки `sysstat`, а затем его включения и запуска` car -q`? Проблема с тем скриптом, который вы запускаете, заключается в том, что он не учитывает множественные установки процессора. Это означает, что если у вас есть четырехъядерный процессор и процесс запущен, он может довольно регулярно превышать 100%. Но я должен был проверить среднюю нагрузку через `w`, нагрузка была бы низкой. JakeGould 5 лет назад 0
Запустите `top` - использование ядра может не отображаться. И этот инструмент немного хитрый. * Стандартные * инструменты FTW. htop аккуратный, но в этом случае ... полностью идти с верхом Journeyman Geek 5 лет назад 0

1 ответ на вопрос

-1
Gendalph

ОС может сообщать об использовании процессора в масштабе всей системы, по крайней мере, это относится к одному из моих VPS.

Попробуйте установить htopи посмотреть, что происходит внутри вашего VPS, чтобы подтвердить или опровергнуть это.