У мене є стек LAMP, який працює на машині Centos 7 (Linux 3.10.0). Веб-сервер Apache передає запити на запуск PHP-файлів до ряду процесів php-fpm, які виконуються під різними обліковими записами користувачів, перетвореними на різні віртуальні веб-сервери. Всі процеси / програми php-fpm отримують доступ до різних баз даних, якими керує один примірник MariaDB.
Система починає відчувати деяке навантаження, і я хотів би знати, чому і де. :)
Здійснюючи "вершину", я відчуваю, що це вузьке місце - це процес / потоки mysqld MariaDB, але я хотів би глибше заглибитися. Я не дуже добре знайомий з процесом обліку під Linux, тому думав, що я буду шукати тут поради.
Я встановив RPM "psacct", який дає мені "lastcomm". lastcomm це добре, щоб дати мені час процесора витрачається припинені процеси, але я дійсно не можу використовувати його на моєму запущеному системі, як mysqld процес ніколи не припиняється. Так що я не можу використовувати lastcomm, щоб отримати уявлення про те, де ВСЕ процесорний час йде і працювати, що це процесор свиней.
«sar» - це добре, але це лише дає мені, наскільки я знаю, глобальну статистику машин. Ніякий спосіб не попросити його розділити ці цифри на користувачів або на кожну команду. Якщо є я буду вдячний казаний як.
Чи можу я отримати статистику про CPU, що використовується - до теперішнього часу або протягом періоду часу - для всіх процесів, припинених або іншим, розділених користувачем / командою?
Крім того, чи є спосіб я можу отримати інші показники, ніж просто CPU - диск I / O або 'load' (runnable, але заблокований на процесорі або диску I / O) - розбитий користувачем / командою?
Велике спасибі за будь-яку пораду або посилання на 'Linux, що враховує манекенів'.