Форкинг загружает диск
У меня есть демон prefork/fork. Сверху я вижу, что мастер-процесс часто потребляет диск:
PID TID RDDSK WRDSK WCANCL DSK CMD
16830 - 7264K 48696K 18624K 10% our daemon
От strace
Я вижу, что это только вилки в этот период времени:
1461316357.209106 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0) = 16203 <0.002074>
1461316357.211241 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0) = 16204 <0.000843>
1461316387.241264 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0) = 19984 <0.002144>
1461316387.243471 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0) = 19985 <0.000990>
1461316388.851070 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0) = 20063 <0.002046>
1461316388.853173 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0) = 20064 <0.000916>
Также были nanosleep,waitpid,time,restart_syscall
в прямом, но они не интересны.
Мой вопрос как fork
может вызвать использование диска? И как это исправить (этот демон работает на дисковых серверах, мы стараемся уменьшить использование диска)?