故障简单描写叙述一下:LINUX系统未开启HugePages,主机内存将近300G。SWAP是32G。ORACLE 的 SGA_MAX_SIZE设置是主机内存的将近80%,SGA_TARGET设置是主机内在的将近60%。正常情况下数据库session大约在将近500。
故障当天业务有变化,session数添加了一倍。达到上1000个。内存紧张,用到了SWAP空间。
解决:找时间关数据库,又一次配置HugePages,重新启动数据库后观察,内存消耗较少,与未开启HugePages之前是数量级对照。
Hugepage能够减轻cpu的负担,还能够降低系统内存的消耗;普通情况下建议linux的数据库系统配置Hugepage(特别是内存大、SESSION多).
关于开启hugepages与关闭。參考:http://blog.csdn.net/haibusuanyun/article/details/20697371
关于LINUX 6关闭;http://blog.csdn.net/haibusuanyun/article/details/41983497
会话数600多时
[oracle@* ~]$ ps -ef|grep LOCAL| wc -l
613
[oracle@* ~]$ ps -ef|grep LOCAL| wc -l
647
[oracle@ ~]$ free -m
total used free shared buffers cached
Mem: 257927 255079 2847 0 64 148001
-/+ buffers/cache: 107013 150914
Swap: 31999 13738 18261
[oracle@ ~]$ cat /proc/meminfo |grep PageT
PageTables: 94353044 kB
[oracle@ ~]$ free -m
total used free shared buffers cached
Mem: 257927 255182 2745 0 64 147743
-/+ buffers/cache: 107373 150553
Swap: 31999 13981 18018
[oracle@ ~]$ ps -ef|grep LOCAL| wc -l
654
[oracle@~]$ cat /proc/meminfo |grep PageT
PageTables: 95038204 kB
会话数上1000时,
[oracle@ ~]$ cat /proc/meminfo |grep PageT
PageTables: 110855888 kB
[oracle@ ~]$ ps -ef|grep LOCAL| wc -l
1016
补充下配置HugePages后的使用情况
[oracle@ ~]$ cat /proc/meminfo |grep Page
PageTables: 164464 kB
[oracle@~]$ ps -ef|grep LOCAL|wc -l
429