Определение загрузки CPU сервера: PHP/Linux

К сожалению, универсальной функции для определения процента загруженности процессора в PHP нет.

Кроме того, напрямую получить такое системное значение также не получится. Можно узнать по-отдельности загрузку процессора по состояниям..

Состояния процессора:

  • us — (User CPU time) время, затраченное на работу программ пользователей
  • sy — (System CPU time) время, затраченное на работу процессов ядра
  • ni — (Nice CPU time) время, затраченное на работу программ с измененным приоритетом
  • id — простой процессора
  • wa — (iowait) время, затраченное на завершение ввода/вывода
  • hi — (Hardware IRQ) время, затраченное на обработку hardware-прерываний
  • si — (Software Interrupts) время, затраченное на работу обработку software-прерываний (network)
  • st — (Steal Time) время, «украденно
    е» гипервизором у этой виртуальной машины для других задач (например работа другой виртуальной машины)

Эти состояния можно посмотреть с помощью команды top

Используем их для определения общей загруженности CPU. Но при этом следует учитывать, что эти значения – это, так сказать, пиковые значения в данный момент времени, поэтому для более точного определения загрузки будем измерять эти значения через некоторый интервал времени, а затем вычислять их изменение, и загрузку процессора определим через соотношение.

Готовый код функции ниже:

Определение загрузки CPU сервера: PHP/Linux: 2 комментария

  1. Блин – чувак ты бы хоть ради приличия перед коментами слэши что ли поставил
    определение загрузки cpu – не закоментированы строки
    (от 0 до 1, если нужно в % – x100) – не закоментировано

Добавить комментарий для Трастопиздов Отменить ответ

Ваш e-mail не будет опубликован.