Мне нужно отобразить общий процент использования ЦП процессами httpd на сервере в отчете php.
Я звоню из exec :
ps -e -o %mem,%cpu,cmd | grep httpd | awk ' {memory+=$1;cpu+=$2} END {printf("%05.2f ",memory);printf("%05.2f\n",cpu)}'
Но данные об использовании ЦП вышеуказанной командой и данные, о которых сообщила команда top, не совпадают.
Мне нужно сообщить --> Если ЦП занят на 40%, 10% процессов httpd, 20% процессов mysqld, 10% процессов perl, то мне нужно сообщить о 10% httpd. (Предполагая, что других процессов нет).
Я видел это: получить общее использование процессора apache в (linux)
Но я понимаю, что команда ps возвращает процент ЦП, потребляемый процессом, из общего процента потребляемого ЦП. Я понимаю, что это становится беспорядочным, поэтому приведенный ниже пример должен помочь.
Если httpd потребляет 10% ЦП, который занят на 60%, то фактический вклад httpd в загрузку ЦП был ((100/60)*10) = 16,66%. Это правильно? Что еще является лучшим способом получить использование процессора группой процессов с тем же именем.