Postgresql安装与基本使用
环境:centos7.4、postgresql-10
目的:熟悉postgresql的安装与基本使用
大纲:
安装前的预备工作(优化,可无)
postgresql安装与配置
使用postgresql
------- 安装前的预备工作(优化,可无) -------
1 禁止内存管理的透明大页模式
1.1 透明大页原理
memory consist of pages, 1 page 4096 字节,1MB memory 256 page
CPU 有内嵌的内存管理单元,这些units include 页面列表
现在内存愈来愈大,管理大容量内存有两种方法
hardware method:增加处理器硬件内存管理单元中页表数,成本昂贵
software method:增大页面大小,目前红帽子采用超大页面方法
超大页面(标准大页)是 2MB 和 1GB 大小的内存块。其中1GB 页是 TB 内存佳选择。
透明超大页面(THP),超大页面必须在引导时分配,很难管理,因此引出THP,可自动创建、管理和使用超大页面的大多数方面。
这两者的区别在于大页的分配机制,标准大页管理是预分配的方式,而透明大页管理则是动态分配的方式。目前透明大页与传统大页混合使用会出现一些问题,导致性能问题和系统重启。
从Redhat6(CentOS6)开始,系统默认自动启动透明超大页面。
然而,ORACLE、Postgresql等数据库使用标准大页,开启THP会导致异常节点重启和性能问题。因此一般建议关闭THP。
1.2 查看透明大页是否启用
cat /sys/kernel/mm/transparent_hugepage/enabled
输出结果为[always]表示透明大页启用了;[never]表示透明大页禁用、[madvise]表示只在MADV_HUGEPAGE标志的VMA中启用透明大页
1.3 禁用透明大页功能
1.3.1 方法一:修改grub.conf配置文件(推荐)
GRUB是一个多重操作系统启动管理器,是用来引导不同的系统的。
修改
exec command: grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
确认修改成功:cat /sys/kernel/mm/transparent_hugepage/enabled
1.3.2 方法二:修改启动加载文件/etc/rc.d/rc.local
# vi /etc/rc.local
#禁用透明大页
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
#修改 io scheduler为deadline
echo deadline > /sys/block/sda/queue/scheduler
相关文章