Нагрузка процессора ВПС (мониторинг процессов)

Значение CPU для отдельного процесcа показывает то, сколько отдельный процесс потребил процессорного времени в течение отведенного ему такта.

Например. У вас запущено 100 процессов, значит процессор будет распределять за единицу времени (например одна секунда) процессорное время между всеми этими процессами согласно его внутреннему шедулеру. Если для примера взять, что все процессы получают равные доли времени, то один процесс за секунду получит 1/100 секунды (0.01 секунды), за которую он должен успеть обработать свою внутреннюю очередь задач.

Соответственно, если у процесса это займет 0.005 секунды, то это будет отображаться как 50%. Если же это займет 0.03 секунды, то Вы увидете 300%. Но так как другие процессы обычно успевают намного быстрее обработать свои задачи, то данные цифры являются вполне приемлемыми для большинства систем.

Наиболее важными цифрами являются "load average:", которые показывают общую загрузку процессора (за минуту, 5 минут и 15 минут). Для одного ядра процессора приемлемой цифрой является "1.00", что в данному случае обозначает, что процессорное время распределено на 100% (не путайте с нагрузкой на процессор), соответственно для 4х ядер цифра будет равна "4.00". Для разных систем нагрузка может считаться по-разному, для Вас допустимой нагрузкой "load average:" можно принять цифры где-то до 10-15 (за одну минуту).

Также косвенно загрузку системы можно определить по задержкам выполнения команд в самой SSH консоли. То есть, если Вы видите, что команды обрабатываются очень медленно (даже набор букв идет не сразу), то вполне вероятно, что нагрузка превышена.

Вторым важным параметром является использование оперативной памяти. На примере ВПС, активно использующего 346 МБ ОЗУ из 512:

[root@user ~]# free -m

total   used free shared buffers cached

Mem: 1001   994   7      0        4       643

-/+ buffers/cache: 346 655

Swap: 2047 0 2047

[root@user ~]#

Вам следует следить, чтоб значение "used" не начинало расти больше выделенной памяти на ВПС, так как это повлечет за собой использование Swap памяти (которая является более медленной). В выводе команды "top" значение используемой каждым процессом памяти можно увидеть в столбике под названием "RES" (столбцы можно отсортировать нажав вначале "O", потом "q", а потом "Enter").