Як дізнатися, який процес викликає високе використання процесора?


2

На моїй віртуальній машині Solaris у мене виникає дивна проблема: після завантаження і протягом 1-2 годин, використання процесора зросте до 100% протягом 5 секунд, потім знизиться до нормального протягом ще 5 секунд, і повторюється так до перезавантаження - це робить мою віртуальну машину Solaris абсолютно непридатною.

Я хочу дізнатися, що відбувається під час повторення 5-секундного використання CPU на 100%, але система повністю не відповідає протягом 5 секунд - навіть не переривання миші / клавіатури обробляються, і тому я не бачу назви процесу за допомогою top або prstat.

Тому я хочу дізнатися:

  • ідентифікатор процесу, який викликав 100% використання процесора
  • що робив процес під час використання 100% процесора

Будь ласка, надайте свої пропозиції, дякую!

Відповіді:


5

Можна спробувати запустити вершину в пакетному режимі:

top -b -n100 > top.log

де -n100 - 100 ітерацій.

Іншою альтернативою є використання ps з відповідними аргументами (це з Linux, вам може знадобитися звернутися до сторінки man в ps в Solaris). Для зручності команда вбудована у сценарій Bash.

   #!/bin/bash 
   while true ; do
      ps -eo pcpu,pmem,pid,ppid,args >> process.log
      sleep 1
   done

Можливо, вам також доведеться змінити пріоритет процесу реєстрації активності процесу в реальному часі за допомогою nice команду.


3

Тим більше, що ви працюєте у віртуалізованому середовищі, ви не повинні прямо припускати, що винуватцем є процес.

Це також може бути проблема гіпервізора або пов'язана з ядром.

Я б використовував dtrace, щоб з'ясувати, що робить ядро ​​під час цих високих періодів використання ЦП:

DTraceToolkit cputimes і modcalls.d команди були б гарним початком.

Якщо ваша хост-ОС також Solaris, dtrace також може бути корисною для визначення джерела завантаження процесора


спасибі. Я теж підозрюю, що ядро ​​Solaris 11 не грає добре у віртуальній машині - або віртуальний ящик викликає проблему, тому що я помітив, що перед тим, як це відбудеться, Solaris повідомляє про імпульс мережного трафіку 4 Гбіт / с ...
Howard
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.