Summary
After what appears to be the end of the build as seen by both the Cluster Manager and ElectricInsight, the build continues to run for an extended period of time. What is happening?
Solution
The extra time is used by eMake to check for conflicts and commit build output. You may see this as a 'RunningLocal job'. If it is taking an unusually long time, it may be because the underlying filesystem on the eMake client is very slow. Furthermore, if the build is run out of a ClearCase vob, it’s not at all unusual to see a performance problem.
eMake performance metrics (--emake-debug=g
) can be expository:
termDiskCopiedBytes : The number of bytes committed by copying. This should be as small a number as possible. If you are using ClearCase and this number is nonzero, look into the --emake-clearcase=vobs
option.
termDiskMovedBytes : The number of bytes committed by moving (renaming). You want this to be as large as possible.
Another indication that the disk is slow comes from the bandwidth metrics.
Bandwidth examples:
Network to agent: 511.2 MB, 1.6 MB/s active, 0.5 MB/s overall
Network from agent: 824.6 MB, 0.4 MB/s active, 0.7 MB/s overall
To disk: 300.1 MB, 0.2 MB/s active, 0.3 MB/s overall
From disk: 602.2 MB, 1.9 MB/s active, 0.5 MB/s overall
Based on this, 0.2 MB/s indicates that writing to disk is extremely slow.