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/
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/
相关文章推荐
- pl/sql工具导出导出dmp export按钮灰色
- sql修改字段长度
- PHP 操作redis 详细讲解
- mysql 之 checkpoint和LSN详解
- Entity Freamwork 6连接PostgreSql数据库
- (转载)SQL Server 2005 日志文件过大处理
- SqlServer表死锁的解决方法(转)
- 执行次数最多的sql语句
- memcached的使用
- oracle存储过程简单例子
- 用SQL实现统计报表中的“小计”和“合计”
- Mysql 多表联合查询效率分析及优化
- mongodb的使用
- 网站缓存技术总结( ehcache、memcache、redis对比)
- MySql导入数据库
- sql server生成脚本
- 磁盘问题引起的MySQL问题
- Redis安装部署
- oracle用户创建及权限设置
- mysql 常见的几个错误问题