本文共 1711 字,大约阅读时间需要 5 分钟。
修改/boot/grub2/grub.cfg文件是对系统进行微调的一种常见操作,尤其是在优化性能时。在CentOS系统中,我们需要定位到第一个菜单项'CentOS Linux',并在'linux16 /vmlinuz'后面添加特定的参数。
在操作系统配置中,numa=off和transparent_hugepage=never是常用的设置,建议保留不变。default_hugepagesz=2M和hugepagesz=2M表示页面大小,建议选择2M。hugepages=1536表示大页面的数量,这样总共大页面内存量为3G(2M × 1536)。需要注意的是,hugepagesz和hugepages的值需保持一致,否则可能导致系统启动问题。
数据库配置方面,PostgreSQL的性能优化通常与内存管理有关。在postgres.conf文件中,设置shared_buffers=2GB需要谨慎,必须确保其小于大页面总内存量(hugepagesz × hugepages)。如果shared_buffers值等于或超过大页面总内存量,可能会导致数据库无法启动,错误信息通常提示内存不足。
以下是典型的grub.cfg配置示例:
menuentry 'CentOS Linux (3.10.0-693.5.2.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-693.el7.x86_64-advanced-d8179b22-8b44-4552-bf2a-04bae2a5f5dd' { load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod xfs set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 34f87a8d-8b73-4f80-b0ff-8d49b17975ca else search --no-floppy --fs-uuid --set=root 34f87a8d-8b73-4f80-b0ff-8d49b17975ca fi linux16 /vmlinuz-3.10.0-693.5.2.el7.x86_64 root=/dev/mapper/centos-root ro rd.lvm.lv=centos/root rhgb quiet LANG=en_US.UTF-8 numa=off transparent_hugepage=never default_hugepagesz=2M hugepagesz=2M hugepages=1536 initrd16 /initramfs-3.10.0-693.5.2.el7.x86_64.img} 重启系统后,可以通过查看/proc/meminfo文件中的HugePages信息来确认配置是否生效:
HugePages_Total: 1536HugePages_Free: 1499HugePages_Rsvd: 1024HugePages_Surp: 0Hugepagesize: 2048 kB
数据库配置时,建议定期监控共享缓存的使用情况,确保其不会超过大页面总内存量。如遇到内存不足问题,可参考错误日志并调整shared_buffers值。
转载地址:http://jnxfk.baihongyu.com/