
oracle数据库内存优化,解决内存与swap占用率高问题
1、查看系统内存,总内存(MemTotal)2.查看有没有使用大内存页时的情况。
·
1、查看系统内存,总内存(MemTotal)
cat /proc/meminfo | grep MemTotal
2.查看有没有使用大内存页时的情况
more /proc/meminfo |grep -i HugePage
3.查看SGA和PGA(pusl sql 中)
3.1.切换到oracle用户,以 SYSDBA 身份登录到数据库:
su oracle
sqlplus / as sysdba
3.2 为了优化性能,SGA容量应与实际内存相符,避免过大导致使用虚拟内存而降低性能。
sga_max_size 可动态分配SGA的最大值
sga_target 当前已分配的最大SGA,用于自动SGA内存管理
show parameter sga;
show parameter pga;
5、配置HugePages Pool大小
vi /etc/sysctl.conf
在最后添加如下的行
vm.nr_hugepages = 2300 #(这个值应大于或等于 SGA/2m,即 4*1024m/2m)
6、配置oracle用户最大线程数、文件句柄和最大能锁定的内存
vi /etc/security/limits.conf
在最后添加如下的行
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft memlock 5194304 #(这里是以KB为单位,一般大于等于SGA)
oracle hard memlock 5194304
7、使配置生效
sysctl -p
8、重启系统及启动oracle实例
参考文章:
更多推荐
所有评论(0)