Jboss 如何为JVM启用大页面内存?

Jboss 如何为JVM启用大页面内存?,jboss,Jboss,在文档(jbossperformancetuning.pdf)中,它建议我们为JVM启用大页面内存 但实际上,在我将以下内容添加到命令行/脚本启动之后: “-XX:+UseLargePages” 它不起作用,所以我进行了更多的研究,首先在操作系统上启用了大页面内存,然后在启动脚本中添加了“-XX:+UseLargePages-XX:LargePageSizeInBytes=2m” 但不幸的是,它也不起作用,所以有人能给我们一些建议,告诉我们如何成功地为JVM启用大页面内存吗 以下是我们服务器的一

在文档(jbossperformancetuning.pdf)中,它建议我们为JVM启用大页面内存

但实际上,在我将以下内容添加到命令行/脚本启动之后: “-XX:+UseLargePages”

它不起作用,所以我进行了更多的研究,首先在操作系统上启用了大页面内存,然后在启动脚本中添加了“-XX:+UseLargePages-XX:LargePageSizeInBytes=2m”

但不幸的是,它也不起作用,所以有人能给我们一些建议,告诉我们如何成功地为JVM启用大页面内存吗

以下是我们服务器的一些详细信息: [root@localhost~]#cat/proc/meminfo

MemTotal:     37033340 kB
MemFree:        318108 kB
Buffers:        179452 kB
Cached:        5934940 kB
SwapCached:          0 kB
...
HugePages_Total: 10251
HugePages_Free:  10251
HugePages_Rsvd:      0
Hugepagesize:     2048 kB
[root@localhost~]#ps aux | grep java

root     22525  0.2 20.3 28801756 7552420 ?    Sl   Nov03  31:54 java -Dprogram.name=run.sh -server -Xms1303m -Xmx24g -XX:MaxPermSize=512m -XX:+UseLargePages -XX:LargePageSizeInBytes=2m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.lang.ClassLoader.allowArraySyntax=true -verbose:gc -Xloggc:/tmp/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Djava.net.preferIPv4Stack=true -Djava.endorsed.dirs=/opt/jboss-as/lib/endorsed -classpath /opt/jboss-as/bin/run.jar org.jboss.Main -c default -b 0.0.0.0
root     31962  0.0  0.0  61200   768 pts/2    S+   22:46   0:00 grep java
[root@localhost~]#cat/etc/sysctl.conf

...
# JBoss is running as root, so the group id is 0
vm.hugetlb_shm_group = 0
# The pages number
vm.nr_hugepages = 12288

最后我解决了这个问题,首先将大页面内存设置为大于JVM堆大小,然后重新启动服务器,因为除非将内核升级到RHEL 6.0中的较新内核,否则无法使其正常工作