Java虚拟机内存参数设置

关于Java虚拟机内存设置的详细方法请参考此文:Java Tuning White Paper

这里罗列出了几个较为关键的内存参数如下:

Table 5.1. JVM(Java Virtual Machine)内存参数设置

JVM选项含义
-Xms初始Heap大小
-XmxJava Heap最大值
-XmnYoung Generation的Heap大小
-Xss每个线程的Stack大小

一般在server端的应用程序上面设置-Xms 跟 -Xmx的值一致将有效提升应用程序的性能。 -Xms小于等于-Xmx的值。

可以通过修改amoeba的启动脚本来设置Java虚拟机内存参数:

Example 5.1. 设置Amoeba启动脚本来调整内存参数

在Amoeba的启动脚本中找到DEFAULT_OPTS变量所在的行。如果你使用linux则脚本文件是bin目录下的amoeba、使用Windows则脚本文件时bin目录下的amoeba.bat

...
DEFAULT_OPTS="-Xmx1024m -Xms1024m -Xss256k"
...

将DEFAULT_OPTS设置如上将使得JVM获得更大的内存从而提升Amoeba的性能。

有些用户反映无法修改线程堆栈大小,主要原因是操作系统的限制,Linux系统可以通过命令行执行或者在启动脚本/etc/profile文件中添加: ulimit -s 2048