On 17/06/2015 10:33, Brian Candler wrote:
It's made more complicated by the fact that the jobs use mmap() on large shared databases, so running multiple instances of the same task doesn't use N times as much memory as one task.
Aside: combined with cgroups this gets hairy.
As I understand it, mmap() memory is charged to the first process which touches it, and not to subsequent users of the same page. When a process terminates, the charge gets passed to the parent cgroup.
Also: 3.2-vintage kernels have issues: even if only using cgroups for accounting (no hard limits), it seems the OOM killer kicks in if there are too many dirty pages waiting to be written to disk.
https://www-auth.cs.wisc.edu/lists/htcondor-users/2015-February/msg00087.shtml https://www-auth.cs.wisc.edu/lists/htcondor-users/2015-February/msg00135.shtml Just thought that might be of interest.