GBase 8s
运维管理
文章
大页内存使用的设置方法
GBase社区管理员发表于2023-05-16 10:03:46105次浏览0个评论
什么是大页内存?
Linux标准内存页的大小是4KB。应用程序访问的是内存的虚拟地址,而内存的虚拟地址要通过操作系统映射到物理内存。随着硬件的发展,操作系统的内存越来越大,物理内存和虚拟内存的映射表也会越来越大,进而影响系统的性能。
为了解决这个问题,人们考虑使用大页内存(Huge Page)来减小映射表。所谓的大页内存就是用一块是标准内存页大小N倍的内存看成一个内存页。Huge Page通常的大小可以是2M、4M、16M。
要在数据库上使用Huge Page,需要在操作系统和数据库上都进行设置,具体方法如下:
操作系统的设置步骤
1、编辑/etc/security/limits.conf文件
614400KB=400MB*1024+100*2048KB(100*2048用于系统保留)
重启主机
验证是否生效:
ulimit -l #看是否修改生效2、查看当前大页大小
#vi /etc/sysctl.conf
vm.nr_hugepages = 200 #从OS中申请200个大页,每页2MB
#sysctl -p #重新加载配置文件验证是否生效:
#cat /proc/meminfo |grep Huge #可以看到分配的大页情况
HugePages_Total: 197
HugePages_Free: 78
数据库设置
1、修改内存驻留
RESIDENT -1|N
2、设置环境变量
export IFX_LARGE_PAGES=1
3、启动数据库,验证是大页内存是否生效
21:31:42 Requested shared memory segment size rounded from 110629KB to 112640KB
21:31:42 Shared memory segment will use huge pages.
21:31:42 Segment locked: addr=0x46600000, size=115343360
21:31:42 Successfully added a bufferpool of page size 2K.
21:31:42 Requested shared memory segment size rounded from 82459KB to 83968KB
21:31:42 Shared memory segment will use huge pages.
21:31:42 Segment locked: addr=0x4d400000, size=85983232
21:31:42 Successfully added a bufferpool of page size 8K.
21:31:48 Shared memory segment will use huge pages.
21:31:48 Dynamically allocated new virtual shared memory segment (size 8192KB)
21:31:48 Memory sizes:resident:6144 KB, virtual:237568 KB, no SHMTOTAL limit
21:31:48 Segment locked: addr=0x52600000, size=8388608评论已关闭
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25052
- 42023-09-25浏览数:18521
- 52020-05-11浏览数:17526