#!/bin/bash
#
module add apps/java/1.6
java -Xmx1024m HelloWorld
我需要设置 -XmxYm
,其中 Y
应该是系统可用内存的 95%(以 Mb 为单位)。
最佳答案
这是一个调用具有所需堆大小的 Java 的脚本。
#!/bin/bash
# Total memory in KB
totalMemKB=$(awk '/MemTotal:/ { print $2 }' /proc/meminfo)
# Percentage of memory to use for Java heap
usagePercent=95
# heap size in KB
let heapKB=$totalMemKB*$usagePercent/100
# heap size in MB
let heapMB=$heapKB/1024
module add apps/java/1.6
java -Xmx${heapMB}m HelloWorld
我强烈建议您使用较低的 usagePercent,因为 Java 应用程序使用的内存多于堆大小(例如,对于 PermGen)。
关于java - 如何在 bash 中动态设置 java 内存大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9888004/