java - 如何在 bash 中动态设置 java 内存大小?

标签 java linux bash memory

#!/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/

相关文章:

linux - 以 root 用户身份运行 bash 脚本后,如何让脚本自动强制我的用户退出 root?

mysql - 需要从shell脚本连接数据库mysql(linux centos7)

java - AttributeOverride 将空值设置为未映射的字段

java - 为什么在将元素添加到 TreeSet 时我没有得到类转换异常或其他东西

linux - Arch Linux KDE 不保存监视器设置

java - 从 Java Runtime exec() 重定向到/bin/bash

java - 从 Iterable 计算 SumOfInts

java - 将 JBoss EL 与 Websphere 结合使用

linux - 以 root 身份登录后,我收到命令未找到消息

bash - 如何制作一个 cronjobbable 脚本来计时上传?