Author: ruschein
Date: 2010-10-25 13:19:34 -0700 (Mon, 25 Oct 2010)
New Revision: 22377
Modified:
cytoscape/trunk/distribution/src/main/bin/gen_vmoptions.sh
Log:
Dynamically determine available physical memory.
Modified: cytoscape/trunk/distribution/src/main/bin/gen_vmoptions.sh
===================================================================
--- cytoscape/trunk/distribution/src/main/bin/gen_vmoptions.sh 2010-10-25
20:06:54 UTC (rev 22376)
+++ cytoscape/trunk/distribution/src/main/bin/gen_vmoptions.sh 2010-10-25
20:19:34 UTC (rev 22377)
@@ -10,13 +10,27 @@
/bin/mkdir $vm_options_path
fi
+# Determine amount of physical memory present:
+if [ `uname` = "Darwin" ]; then
+ phys_mem=`sysctl -a | grep 'hw.memsize =' | sed 's/[ ][ ][ ]*/ /g' | cut
-f 3 -d ' '`
+ phys_mem=$((phys_mem / 1024 / 1024)) # Convert from B to MiB
+else # We assume Linux
+ phys_mem=`cat /proc/meminfo | grep 'MemTotal:' | sed 's/[ ][ ][ ]*/ /g' |
cut -f 2 -d ' '`
+ phys_mem=$((phys_mem / 1024)) # Convert from KiB to MiB
+fi
+
if `java -version 2>&1 | grep -- 64-Bit > /dev/null`; then # We have a 64 bit
JVM.
- echo -Xms20m > "$vm_options_path/Cytoscape.vmoptions"
- echo -Xmx20g >> "$vm_options_path/Cytoscape.vmoptions"
- echo -d64 >> "$vm_options_path/Cytoscape.vmoptions"
+ echo -Xms20m > "$vm_options_path/Cytoscape.vmoptions"
+ echo -Xmx${phys_mem}m >> "$vm_options_path/Cytoscape.vmoptions"
+ echo -d64 >> "$vm_options_path/Cytoscape.vmoptions"
else # Assume a 32 bit JVM.
- echo -Xms10m > "$vm_options_path/Cytoscape.vmoptions"
- echo -Xmx1550m >> "$vm_options_path/Cytoscape.vmoptions"
+ # Truncate memory setting at 1550 MiB:
+ if [ $phys_mem -gt 1550 ]; then
+ phys_mem=1550
+ fi
+
+ echo -Xms10m > "$vm_options_path/Cytoscape.vmoptions"
+ echo -Xmx${phys_mem}m >> "$vm_options_path/Cytoscape.vmoptions"
fi
# Shared JVM options
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.