PostgreSQL 一般共享内存shared_buffers较大,会导致内存PageTables变大,不仅挤占内存,还因地址条目过多,CPU寻址耗时增加,影响CPU性能。那么开启PostgreSQL大页内存的方法是什么呢?
下面简单介绍开启大页内存过程:
首先,先以非大页启动:
postgresql.conf :
huge_pages = off
复制
查看postgresql使用内存大小:
#查看进程ID head -1 $PGDATA/postmaster.pid 8182 #查看当前进程点用内容大小: [postgres@pg14 data]$ pmap 8182 |awk '/rw-s/ && /zero/ {print $2}' 213696K #查看页大小 [postgres@pg14 ~]$ cat /proc/meminfo |grep Hugepagesize Hugepagesize: 2048 kB #计算所需页数 213696/2048 = 104.34 向上取大点:110 # 在操作系统上开启大页 vi /etc/sysctl.conf vm.nr_hugepages = 110 #运行sysctl -p 生效,如不生效,生启操作系统。 #操作系统关闭透明大页和NUMA 【可选】 [postgres@pg14 ~]$ cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos_myhost/root rd.lvm.lv=centos_myhost/swap rhgb quiet numa=off transparent_hugepage=never" GRUB_DISABLE_RECOVERY="true" #生效 grub2-mkconfig -o /boot/grub2/grub.cfg #启动数据库,检查PostgreSQL大页是否开启 head -1 $PGDATA/postmaster.pid 8183 [postgres@pg14 data]$ pmap 8183 |awk '/rw-s/ && /zero/ {print $2}' #pmap 没有输出结果表示成功,此时执行, cat /proc/meminfo ... HugePages_Total: 110 HugePages_Free: 69 HugePages_Rsvd: 64 HugePages_Surp: 0 Hugepagesize: 2048 kB ... 可见大页已经使用。
复制
最后修改时间:2022-06-17 09:47:00
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
照着步骤做pmap 8183 |awk '/rw-s/ && /zero/ {print $2}'还是有输出结果
1年前

评论
相关阅读
外国CTO也感兴趣的开源数据库项目——openHalo
小满未满、
1245次阅读
2025-04-21 16:58:09
9.9 分高危漏洞,尽快升级到 pgAdmin 4 v9.2 进行修复
严少安
382次阅读
2025-04-11 10:43:23
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
366次阅读
2025-04-15 14:48:05
openHalo问世,全球首款基于PostgreSQL兼容MySQL协议的国产开源数据库
严少安
356次阅读
2025-04-07 12:14:29
转发有奖 | PostgreSQL 16 PGCM高级认证课程直播班招生中!
墨天轮小教习
173次阅读
2025-04-14 15:58:34
SQL 优化之 OR 子句改写
xiongcc
123次阅读
2025-04-21 00:08:06
融合Redis缓存的PostgreSQL高可用架构
梧桐
109次阅读
2025-04-08 06:35:40
PostgreSQL拓展PGQ实现解析
chirpyli
107次阅读
2025-04-07 11:23:17
中国PostgreSQL培训认证体系新增PGAI应用工程师方向
开源软件联盟PostgreSQL分会
92次阅读
2025-05-06 10:21:13
PostgreSQL的dblink扩展模块使用方法
szrsu
90次阅读
2025-04-24 17:39:30
TA的专栏
热门文章
PostgreSQL 12.8 详解命令pg_rewind
2021-10-29 7155浏览
[译] Postgresql 清理更新频繁的表
2022-04-12 6405浏览
patroni 报错问题处理:CRITICAL: system ID mismatch, node pgsql_node1 belongs to a different cluster: 7052280560147471869 != 7052284163
2022-01-12 5252浏览
patroni 服务启报错:patroni.exceptions.PatroniFatalException
2022-01-10 4986浏览
数据库短连接风暴触发oracle bug 32164034
2021-11-18 4726浏览