Very often, especially under high loads, the virtual memory occupation for the glite-wms-workload_manager process may reach very high values, such as one Gigabyte and more. This is not about a memory leak, but simply the effect of a well-known problem with the allocator which comes with the glibc (the so called ptmalloc2). See tcmalloc for a more detailed explanation. This problem can be avoided using run-time redirection to whatever lock-free, optimized alternative allocator, to avoid excessive swap activity. It is highly suggested doing so wherever RAM is less than or equal to 4Gb. Here is our recipe which makes use of the TCmalloc, such an alternate allocator distributed by Google under BSD license:
install the two rpms, google-perftools-devel-???.rpm and google-perftools-???.rpm (just pick up the latest version, older versions should work anyway, just in case),
Changed:
< <
enable the malloc redirection for the WM by editing the glite-wms-wm script. It is just a matter of removing the comment in the following line:
> >
enable the malloc redirection for the WM by editing the glite-wms-wm script. It is just a matter of removing the comment in the following line:
#use_google_perf_tools=1
Deleted:
< <
Bug #39641: User proxy mixup for job submissions too close in time