Процесс для обработки запускает (fork + exec) массу различных обработчиков. Время жизни обработчика мало (запустился, сделал что попросили, exit).
Все данные (которые доступны обработчикам и результаты) живут в tmpfs. Запускается тест, который крутит тестовую коллекцию по кругу.
Наблюдаем за этим делом через sar -X pid. Видим, что после запуска дочерние процессы (обработчики) потребляют скажем 20% процессора в режим ядра и 80% в usermode. Смотрим на это дело через три-четыре часа - видим почти обратное соотношение, примерно 80% в режим ядра и 20% в usermode!!!
Состав данных точно не меняется, всё идет по кругу. Система RHEL 5.5 со всеми апдейтами. В обработчиках ничего «волшебного», можно сравнить с tar или unzip.
Аналогичная хрень видна и для родительского процесса (по sar -x pid). Очень не хочется заниматься проктологией через SystemTap...
Какие будут идеи?