Microsoft выпустила Linux-версию утилиты ProcDump
Конкретно этот инструмент от Марка Русиновича показывает, сколько ресурсов центрального процессора должен занимать процесс и какое время должно пройти, прежде чем ProcDump создаст дамп процесса. То есть дамп записывается автоматически, когда процесс в очередной раз повысит нагрузку на центральный процессор выше определённого порога.
Например, под Windows мы хотим изучить аномальное поведение wmiprvse.exe (процесс WMI Provider Host), который в произвольные моменты времени занимает до 90% ресурсов CPU. Тогда запускаеми следующую команду, которая трижды запишет дамп этого процесса в случае, если потреблением им CPU в течение трёх секунд превышает 80%.
procdump.exe -c 80 -s 3 -n 3 wmiprvse
Действительно, очень удобно.
Версия под 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 или более старшей версии.