提供的“永久增加Java堆大小? ”的答案并没有实际回答问题。至少在我所期望的意义上。我会在同一页上的评论中添加此详细信息,但我没有获得该特权,但是我离题了。该问题的答案如下所示输出以下内容:export _JAVA_OPTIONS="-Xmx4g"
。可以,但是在重新启动服务器后不起作用。
这是一个导出的变量,并且如下面的另一个成员所述,可以将别名添加到该用户的.bashrc文件中。这意味着仅在调用该用户的环境时才调用设置。正确的?我想知道的是如何在此处记录此MaxHeapSize设置:
$ java -XX:+PrintFlagsFinal -version | grep -iE 'MaxHeapSize'
Picked up _JAVA_OPTIONS: -Xmx2g
uintx MaxHeapSize := 2147483648 {product}
java version "1.6.0_37"
OpenJDK Runtime Environment (IcedTea6 1.13.9) (rhel-1.13.9.4.el6_7-x86_64)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)
即使在服务器重新启动后也可以永久设置。我有一个bash脚本,该脚本执行一个jar文件来处理图像,并且全部由Apache用户运行。没有外壳环境。将提到的导出字符串添加到脚本环境中不会呈现所需的uintx MaxHeapSize值。如果仅导出所需的MaxHeapSize,则会看到值更改,但是必须有一种“永久”设置此值的方法,这样我就不必依赖环境变量了。这就是我要寻找的答案,而另一篇文章中提供的答案似乎可以解决。如何设置/更改Java最小堆大小和最大堆大小的默认设置,以便在重新启动后永久保留而不依赖于导出的环境变量。我的服务器具有不同的默认值,因此似乎可行。
修订在阅读了前两个注释之后,这是执行jar的脚本:
PATH=$PATH:$HOME/bin:/usr/java/jdk1.5.0_05/bin
CLASSPATH=.:/home/hg/bin/imageutils.jar:
export CLASSPATH
export PATH
java com.hg.image.Thumbnail $1 $2 $3 $4 $5
我尝试将以下内容添加到脚本顶部: export _JAVA_OPTIONS="-Xmx4g"
但这并没有改变我运行时MaxHeap大小的价值:
$ java -XX:+PrintFlagsFinal -version | grep -iE 'MaxHeapSize'
可以,但是在重新启动服务器后不起作用。
如果您想在重新启动时发生新环境,则需要在每次启动新环境时进行设置。这不是Java的功能,而是环境变量在Shell中的工作方式。
我有一个bash脚本,该脚本执行一个jar文件来处理图像,并且全部由Apache用户运行。
我会将其添加到bash脚本中,以便每次都进行设置。这就是脚本的用途。
如何设置/更改Java最小和最大堆大小的默认设置,以在重新启动后永久保留而不依赖于导出的环境变量。
默认最大值是主内存的1/4,这就是为什么它会根据内存大小而更改的原因。
您可以编译自己的OpenJDK版本(这就是您正在使用的版本),然后在其中可以更改默认值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句