Microsoft выпустила Linux-версию утилиты ProcDump

ProcDump для Linux — реинкарнация классического инструмента ProcDump из комплекта технических средств и утилиты для управления, диагностики, устранения неполадок и мониторинга среды Microsoft Windows.

1aa1fdbd50b96def20d4886d942ef736.gif
Конкретно этот инструмент от Марка Русиновича показывает, сколько ресурсов центрального процессора должен занимать процесс и какое время должно пройти, прежде чем ProcDump создаст дамп процесса. То есть дамп записывается автоматически, когда процесс в очередной раз повысит нагрузку на центральный процессор выше определённого порога.

Например, под Windows мы хотим изучить аномальное поведение wmiprvse.exe (процесс WMI Provider Host), который в произвольные моменты времени занимает до 90% ресурсов CPU. Тогда запускаеми следующую команду, которая трижды запишет дамп этого процесса в случае, если потреблением им CPU в течение трёх секунд превышает 80%.

procdump.exe -c 80 -s 3 -n 3 wmiprvse

Действительно, очень удобно.

_w-sc8umi6adcasl_wicjpikqak.png

Версия под Linux работает примерно так же, как под Windows, разве что опций в программе поменьше:

Usage: procdump [OPTIONS...] TARGET
   OPTIONS
      -C          CPU threshold at which to create a dump of the process from 0 to 100 * nCPU
      -c          CPU threshold below which to create a dump of the process from 0 to 100 * nCPU
      -M          Memory commit threshold in MB at which to create a dump
      -m          Trigger when memory commit drops below specified MB value.
      -n          Number of dumps to write before exiting
      -s          Consecutive seconds before dump is written (default is 10)
   TARGET must be exactly one of these:
      -p          pid of the process
      -w          Name of the process executable

В данный момент поддерживается работа только на ядре 3.5 или более старшей версии.

© Habrahabr.ru