从Oracle获取64位JVM。
在32位模式下使用JVM时,可以分配的最大堆大小为1280 MB。因此,如果要超越此范围,则需要以64模式调用JVM。
您可以使用以下内容:
$ java -d64 -Xms512m -Xmx4g HelloWorld 在哪里

您可以根据需要调整-Xms和-Xmx(YMMV)
一个非常好的JVM性能调优资源,您可能需要考虑:http:/// javase / technologies / hotspot / gc / gc_tuning_6.html

我相信2GB的限制适用于32位Java。我以为v1.6始终是64位的,但是尝试强制使用64位模式只是看到了:添加-d64选项。
32位Java限于大约1.4到1.6 GB。

Oracle 32位堆常见问题解答
报价
32位JVM的最大理论堆栈限制为4G。由于各种其他限制,例如可用交换,内核地址空间使用,内存碎片和虚拟机开销,因此实际限制可能要低得多。在大多数现代的32位Windows系统上,最大堆大小为1.4G至1.6G。在32位Solaris内核上,地址空间限制为2G。在运行32位虚拟机的64位操作系统上,最大堆大小可能会更高,在许多Solaris系统上接近4G。
以下conf对我有用:
JAVA_HOME=/JDK1.7.51-64/jdk1.7.0_51/ PATH=/JDK1.7.51-64/jdk1.7.0_51/bin:$PATH export PATH export JAVA_HOME JVM_ARGS="-d64 -Xms1024m -Xmx15360m -server" /JDK1.7.51-64/jdk1.7.0_51/bin/java $JVM_ARGS -jar `dirname $0`/ApacheJMeter.jar "$@"
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-342865-1.html
支持军工