您的位置:首页 > 数据库

Postgresql 开启huge pages

2016-04-05 11:51 190 查看
CentOS release 6.7 (Final)

Postgresql 9.4.4

修改postgresql.conf参数 huge_pages = on 默认是try

修改grub引导配置文件grub.conf 添加

numa=off

transparent_hugepage=never

或者在/etc/rc.local加入

echo never > /sys/kernel/mm/transparent_hugepage/enabled

echo never > /sys/kernel/mm/transparent_hugepage/defrag

cd $PGDATA

head -1 postmaster.pid

9171

grep ^VmPeak /proc/9171/status

VmPeak: 4503100 k

未开启大页

cat /proc/meminfo |grep -i huge

AnonHugePages: 2048 kB

HugePages_Total: 0

HugePages_Free: 0

HugePages_Rsvd: 0

HugePages_Surp: 0

Hugepagesize: 2048 kB

4503100/2048=2198

vi /etc/sysctl.conf 加入

vm.nr_hugepages=2198

sysctl -p --载入配置文件

查看大页已经开启

AnonHugePages: 2048 kB
HugePages_Total: 2198 --系统当前总共拥有的HugePages数目
HugePages_Free: 2133 --系统当前总共拥有的空闲HugePages数目
HugePages_Rsvd: 2046 --系统当前总共保留的HugePages数目,更具体点就是指程序已经向系统申请,但是由于程序还没有实质的HugePages读写操作,因此系统尚未实际分配给程序的HugePages数目
HugePages_Surp: 0 --指超过系统设定的常驻HugePages数目的数目
Hugepagesize: 2048 kB --每一页HugePages的大小

以下可以对应到上面的
# cat /proc/sys/vm/nr_hugepages
2198
#cat /proc/sys/vm/nr_hugepages_mempolicy
2198
#cat /proc/sys/vm/nr_overcommit_hugepages
0

可以看到是两个个NUMA节点的系统
cat /sys/devices/system/node/node*/meminfo | fgrep Huge
Node 0 HugePages_Total: 1099
Node 0 HugePages_Free: 1034
Node 0 HugePages_Surp: 0
Node 1 HugePages_Total: 1099
Node 1 HugePages_Free: 1099
Node 1 HugePages_Surp: 0

参考 http://blog.csdn.net/cybertan/article/details/9035727 http://www.postgresql.org/docs/9.4/static/kernel-resources.html#LINUX-HUGE-PAGES http://blog.163.com/digoal@126/blog/static/1638770402016011115141697/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: