Как включить большую страничную память для JVM? - PullRequest
2 голосов
/ 14 ноября 2011

В документе (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

1 Ответ

2 голосов
/ 20 ноября 2011

Наконец-то я исправил эту проблему: сначала установил объем памяти больших страниц, превышающий размер кучи JVM, а затем просто перезагрузил сервер, потому что нет способа заставить его работать, если вы не обновите ядро ​​до более нового - в RHEL 6.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...