我试图通过添加+ UseLargePages参数来调整JVM的性能。 由于它抛出错误,我认为这在我的操作系统中不受支持。 我正在使用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巨大/ proc / meminfo显示没有信息。 这就明确表示,HugePages支持不可用。 我安装了libhugetlbfs ,如果现在运行rpm -qi libhugetlbfs ,我得到如下的信息。
名称:libhugetlbfs重定位:(不可重定位) 版本:1.3供应商:CentOS 版本:8.2.el5版本date:2011年1月20日20:36:26 安装date:2014年3月7日星期五18:44:57build设主机:builder10.centos.org 组:系统环境/库源RPM:libhugetlbfs-1.3-8.2.el5.src.rpm 大小:111296驾照:LGPLv2 + 签名:DSA / SHA1,2011年3月21日星期一19:35:33,重要ID a8a447dce8562897 url: http : //libhugetlbfs.sourceforge.net 简介:用于访问巨大TLB文件系统的库 说明: libhugetlbfs库与Linux hugetlbfs交互以制作大页面 以透明的方式提供给应用程序。 名称:libhugetlbfs重定位:(不可重定位) 版本:1.3供应商:CentOS 版本:8.2.el5版本date:2011年1月20日20:42:35 安装date:2014年3月7日星期五18:44:57build设主机:builder10.centos.org 组:系统环境/库源RPM:libhugetlbfs-1.3-8.2.el5.src.rpm 大小:108116驾照:LGPLv2 + 签名:DSA / SHA1,星期一3月7日09:43:30,钥匙ID a8a447dce8562897 url: http : //libhugetlbfs.sourceforge.net 简介:用于访问巨大TLB文件系统的库 说明: libhugetlbfs库与Linux hugetlbfs交互以制作大页面 以透明的方式提供给应用程序。
HugePages支持仍然没有运气。
只是想知道如果我失去了一些东西,或者这个版本的Linux是不支持这个function的。
任何指针将不胜感激。
谢谢
要检查您的内核是否支持HugePage,请使用以下命令。 如果你得到这样的输出,你的内核支持HugePage。
[root@prashant sa]# grep HUGETLB /boot/config-$(uname -r) CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y
安装新的内核
yum install kernel
我知道这并不能解决你的问题,但是从2017年3月31日起,CentOS 5已经成为古老的生命了(即没有更新,也没有任何支持)。
你应该尽快迁移到CentOS 6或7。