我有一个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> strace中也有nanosleep,waitpid,time,restart_syscall ,但它们并不有趣。
我的问题是如何fork可以导致磁盘使用情况? 如何解决这个问题(这个守护进程在磁盘服务器上运行,我们试图减less磁盘的使用)?