Как это можно сделать без написания дополнительного демона?
P.S. Я не могу использовать cron, потому что мне нужны меньшие временные интервалы.
P.P.S. Debian 6 x64
Используйте Monit как легкий инструмент для мониторинга системы.
Вот документация. Вы найдете примеры того, как делать предупреждения и действия в зависимости от состояния системы, например нагрузки. Например:
check system server.example.com
if loadavg (1min) > 4 for 10 cycles then alert
if loadavg (5min) > 3 for 10 cycles then alert
if loadavg (15min) > 2 for 10 cycles then alert
if memory usage > 75% for 10 cycles then alert
if cpu usage (user) > 70% for 10 cycles then alert
if cpu usage (system) > 50% for 10 cycles then alert
if cpu usage (wait) > 50% for 10 cycles then alert
Где «предупреждение» определяется в другом разделе конфигурации.
Monit должен быть доступен в Debian в виде apt. Да, это дополнительная вещь, которую нужно установить и запустить, но она довольно легкая и будет лучше, чем все, что вы можете приготовить в сценарии оболочки.