From c40c9aa5efd0c13215dd1299b42e6abd96c804c4 Mon Sep 17 00:00:00 2001 From: kiran Date: Sat, 27 Nov 2010 23:31:31 +0000 Subject: [PATCH] Had these changes regarding memory cutoffs for a while. Committing them so I can be running a clean codebase, but people shouldn't use this. Queue is way better. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4740 348d0f76-0448-11de-a6fe-93d51630548a --- perl/DistributedMake.pm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/perl/DistributedMake.pm b/perl/DistributedMake.pm index e784c4292..dec290101 100644 --- a/perl/DistributedMake.pm +++ b/perl/DistributedMake.pm @@ -39,7 +39,7 @@ sub new { 'hosts' => "", 'queue' => undef, - 'memLimit' => 2202009, + 'memLimit' => 2, 'outputFile' => 'distributedmake.log', 'mailTo' => 'crd-lsf@broad.mit.edu', 'wait' => 1, @@ -104,14 +104,18 @@ sub addRule { push(@prepcmds, $mklogdircmd); } + my $memRequest = $bja{'memLimit'} * 1.5; + my $integerMemRequest = int($memRequest); + my $memCutoff = $bja{'memLimit'} * 1024 * 1024 * 1.25; + # A quick check to make sure that java commands being dispatched to the farm are instructed to run under a default memory limit for (my $i = 0; $i <= $#cmds; $i++) { if ($cmds[$i] =~ /^java / && $cmds[$i] =~ / -jar / && $cmds[$i] !~ / -Xmx/) { - $cmds[$i] =~ s/^java /java -Xmx2048m /; + $cmds[$i] =~ s/^java /java -Xmx$bja{'memLimit'}g /; } } - $cmdprefix = "bsub -q $bja{'queue'} -M $bja{'memLimit'} -P $bja{'projectName'} -o $bja{'outputFile'} -u $bja{'mailTo'} $wait $rerunnable $migrationThreshold $bja{'extra'} "; + $cmdprefix = "bsub -q $bja{'queue'} -M $memCutoff -P $bja{'projectName'} -o $bja{'outputFile'} -u $bja{'mailTo'} -R \"rusage[mem=$integerMemRequest]\" $wait $rerunnable $migrationThreshold $bja{'extra'} "; } my $rootdir = dirname($targets[0]);