Я пытаюсь настроить производительность JVM, добавив параметр + UseLargePages. Поскольку это вызвало ошибку, я решил, что она не поддерживается в моей ОС. я использую CentOS (5.10) - Linux 2.6.16.33-xenU 64 битовое распределение. Вот что я получаю, когда запускаю следующую команду java.
java -Xmx400m -XX:+UseLargePages -version
Java HotSpot(TM) 64-Bit Server VM warning: Failed to reserve shared memory (errno = 38).
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
grep -i Huge / proc / meminfo не показывает информации. Это дало понять, что поддержка HugePages недоступна. Я установил libhugetlbfs , если сейчас запустить rpm -qi libhugetlbfs, Я получаю следующую информацию.
Name : libhugetlbfs Relocations: (not relocatable)
Version : 1.3 Vendor: CentOS
Release : 8.2.el5 Build Date: Thu Jan 20 20:36:26 2011
Install Date: Fri Mar 7 18:44:57 2014 Build Host: builder10.centos.org
Group : System Environment/Libraries Source RPM: libhugetlbfs-1.3-8.2.el5.src.rpm
Size : 111296 License: LGPLv2+
Signature : DSA/SHA1, Mon Mar 21 19:35:33 2011, Key ID a8a447dce8562897
URL : http://libhugetlbfs.sourceforge.net
Summary : Library to access the Huge TLB Filesystem
Description :
The libhugetlbfs library interacts with the Linux hugetlbfs to make large pages
available to applications in a transparent manner.
Name : libhugetlbfs Relocations: (not relocatable)
Version : 1.3 Vendor: CentOS
Release : 8.2.el5 Build Date: Thu Jan 20 20:42:35 2011
Install Date: Fri Mar 7 18:44:57 2014 Build Host: builder10.centos.org
Group : System Environment/Libraries Source RPM: libhugetlbfs-1.3-8.2.el5.src.rpm
Size : 108116 License: LGPLv2+
Signature : DSA/SHA1, Mon Mar 7 09:43:30 2011, Key ID a8a447dce8562897
URL : http://libhugetlbfs.sourceforge.net
Summary : Library to access the Huge TLB Filesystem
Description :
The libhugetlbfs library interacts with the Linux hugetlbfs to make large pages
available to applications in a transparent manner.
Still no luck with HugePages support. Просто интересно, не хватает ли мне чего-то или эта версия Linux вообще не поддерживает эту функцию.
Любой указатель будет оценен по достоинству.
Спасибо
Я знаю, что это не решит вашу проблему, но CentOS 5 устарел и закончился с 31 марта 2017 года (т.е. без обновлений и какой-либо поддержки).
Вам действительно следует как можно скорее перейти на CentOS 6 или 7.
Чтобы проверить, поддерживает ли ваше ядро HugePage, используйте следующую команду. Если вы получили такой результат, ваше ядро поддерживает HugePage.
[root@prashant sa]# grep HUGETLB /boot/config-$(uname -r)
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
Чтобы установить новое ядро
yum install kernel