Author: michael Date: To: Nigel.Metheringham CC: exim-users Subject: Re: [Exim] fsync and a subject for the wish list
> michael@??? said: > > It is trivial to do so by subtracting the previous times(2) result
> > from the current one using using the time(2) result to compute
> > percentages and the values are helpful if you wonder where CPU time
> > goes on a system with many different daemons.
>
> Actually with exim's structure of semi-autonomous processes this is
> very difficult.
>
> I suggest you run some form of process accounting on your systems
> instead.
I was under the impression that one master daemon forks off queue runners,
processes to handle messages etc. Am I wrong here? It would be perfectly
fine for that daemon to log the accumulated CPU usage for itself and for
its children. The result is e.g. "Exim (seen as a black box) needs 10%
CPU user time and 5% system time of the available real time". Apply the
usual things about SMP here.
When my systems are busy, the PIDs wrap every few minutes. Process
accounting would probably kill me and I don't need CPU usage of individual
processes. I can get that by profiling, if needed. I need incremental
values of whole subsystems.
I use vmstat and iostat regularly and run MRTG for total CPU load, disk
traffic and ethernet traffic. CPU load became a little high recently.
Using such incremental times(2) output, I identified the pop3 proxy
daemon to be one culprit and fixed it to use less CPU time. I still
wonder about Exim, though.