- Package:
- boinc-client
- Source:
- boinc
- Description:
- core client for the BOINC distributed computing infrastructure
- Submitter:
- Sandro Tosi
- Date:
- 2010-08-09 16:38:18 UTC
- Severity:
- important
Hello, I've set limits for VM usage: zion:/debs# grep vm_max_used_pct etc/boinc-client/global_prefs_override.xml <vm_max_used_pct>75.000000</vm_max_used_pct> but boicmgr didn't respect them, and I got 4 garli processes (each one takes 1Gb of ram) on my 4Gb Ram machine, and the box got freezed. Please give it a look, since it has the potential to completely block a workstation (reboot would be needed then). Thanks, Sandro
reassign 491226 boinc-client 6.2.12-1 thanks Hi Sandro, I'm not totally sure but I think <vm_max_used_pct> is only used to determine if enough swap space is available to leave suspended applications in memory if <leave_apps_in_memory> is set. So for example if <vm_max_used_pct> is set to 25.0 and you have 1 GB of swap space, BOINC would only use 250 MB of it for suspended applications. If you want to limit RAM usage, you should adjust <ram_max_used_busy_pct> and <ram_max_used_idle_pct> in global_prefs_override.xml. Cheers,
Hi Frank, Well, on this machine there is no swap space ;) These are the values for the keys: $ egrep "ram_max_used_idle_pct|ram_max_used_busy_pct" /etc/boinc-client/global_prefs_override.xml <ram_max_used_busy_pct>50.000000</ram_max_used_busy_pct> <ram_max_used_idle_pct>90.000000</ram_max_used_idle_pct> It seems a safe situation, but the problem appears anyhow (and I didn't change those parameters in the meantime). I was on 6.2.12 while now I'm on 6.2.14 (waiting for .18 to be built for amd64) so I don't know if in the meantime it was fixed or not. Cheers,
Hi Sandro,
So if I'm right, the client should never leave applications in memory which is
opposed to the other bug you reported. *sigh* :-)
Frankly, I don't know. But it would be interesting if you could modify those
values to find out if it affects RAM usage. For example, set them to 25.0 and
50.0, restart the client and monitor the client's RAM usage. To monitor
BOINC's RAM usage the attached script may be helpful:
$ watch -n 0.5 ./boinc-mem-usage.sh
In theory, BOINC's total resident set size (in %) should never exceed
ram_max_used_idle_pct.
Cheers,
Hi Frank, I just made some tests well, it shows of they are related (see below) $ egrep "ram_max_used_idle_pct|ram_max_used_busy_pct" /etc/boinc-client/global_prefs_override.xml <ram_max_used_busy_pct>50.000000</ram_max_used_busy_pct> <ram_max_used_idle_pct>90.000000</ram_max_used_idle_pct> $ ~/tmp/boinc-mem-usage.sh Host's total memory: 4058168 KiB 3963.05 MiB Host's total swap: 0 KiB 0.00 MiB BOINC's total resident set size: 1231356 KiB 1202.50 MiB BOINC's total virtual memory size: 1331948 KiB 1300.73 MiB BOINC's total resident set size: 30.3% BOINC's total virtual memory size: 32.8% Then I set: $ egrep "ram_max_used_idle_pct|ram_max_used_busy_pct" /etc/boinc-client/global_prefs_override.xml <ram_max_used_busy_pct>25.000000</ram_max_used_busy_pct> <ram_max_used_idle_pct>50.000000</ram_max_used_idle_pct> guess what? $ ~/tmp/boinc-mem-usage.sh Host's total memory: 4058168 KiB 3963.05 MiB Host's total swap: 0 KiB 0.00 MiB BOINC's total resident set size: 1629944 KiB 1591.74 MiB BOINC's total virtual memory size: 1782020 KiB 1740.25 MiB BOINC's total resident set size: 40.2% BOINC's total virtual memory size: 43.9% The problem is that the process put on hold due to "Waiting for memory" are indeed *left in memory* so my machine went trashing (I got to kill boinc from a laptop). If you need some other tests, simply ask (I'd like to see boinc bug free :) ). Cheers, Sandro