JBOSS内存参数详解

时间:2023-01-11 23:11:45

JAVA_OPTS="$JAVA_OPTS -server -Xms1024m -Xmx1024m -Xss512k -XX:PermSize=128m -XX:MaxPermSize=256m -XX:ParallelGCThreads=8

-server:一定要作为第一个参数,在多个CPU时性能佳

-Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些

-Xmx:java heap最大值,使用的最大内存

-Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一

上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半,最大不超过物理内存的80%

-XX:PermSize:设定内存的永久保存区域

-XX:MaxPermSize:设定最大内存的永久保存区域

上面两个值不会被GC清除

-Xss512K: 每个线程的Stack大小,这使得JBoss每增加一个线程就会立即消耗512K内存

+XX:AggressiveHeap:会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,不断的消耗物理内存以及SWAP,直到消耗殆尽,一般不建议使用

-XX:+UseConcMarkSweepGC:缩短major GC(对Tenured Generaion的GC)的时间(此选项在Heap Size 比较大而且Major收集时间较长的情况下使用更合适)

-XX:+UseParNewGC:缩短minor GC(对young generation的GC)的时间

XX:+UseParallelGC:选择垃圾收集器为并行收集器。此配置仅对young generation有效。即上述配置下,young generation使用并发收集,而Tenured Generaion仍旧使用串行收集。

-XX:ParallelGCThreads=8:配置并行收集器的线程数,即:同时多少个线程一起进行垃圾回收。此值最好配置与处理器数目相同"