|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!在一个旧事网站的背景数据库的监控过程当中,常常呈现数据库入手下手利用互换分区的情形,并进而招致全部使用体系呼应十分迟缓,不克不及够供应办事。该办事器的内存为8G,SGA设置为4G,PGA设置为1G。操纵体系为64位。
依照事理,即便内存产生不敷的情形,应当是磁盘读写变得加倍剧烈,而不是入手下手频仍的利用swap互换分区,沿着这个思绪,寻觅相干材料,发明假如设置年夜内存页能够强行把SGA锁定到内存中,年夜内存页是不同意被互换的。而同时相干材料也申明,在内存对照年夜的情形下,当体系内存为8G以上时,假如不接纳年夜内存页(2M),那末办理这些内存所必要的内存也会急剧增添。关于体系可使用下令cat/proc/meminf检察PageTables项,因为没有接纳年夜内存页办理而分外发生的内存损耗。
详细操纵步调:
1、检察体系内存
cat/proc/meminfo|grepMemTotal
MemTotal:8177384kB
2、检察SGA和PGA
SQL>showparametersga;
NAMETYPEVALUE
-----------------------------------------------------------------------------
lock_sgabooleanTRUE
pre_page_sgabooleanFALSE
sga_max_sizebiginteger4G
sga_targetbiginteger4G
SQL>showparameterpga;
NAMETYPEVALUE
-----------------------------------------------------------------------------
pga_aggregate_targetbiginteger1G
4、检察没有利用年夜内存页时的情形
more/proc/meminfo|grep-iHugePage
HugePages_Total:0
HugePages_Free:0
HugePages_Rsvd:0
Hugepagesize:0
5、设置HugePagesPool巨细
vi/etc/sysctl.conf
在最初增加以下的行www.ckuyun.com
vm.nr_hugepages=2300#(这个值应年夜于或即是SGA/2m,即4*1024m/2m)
6、设置oracle用户最年夜线程数、文件句柄和最年夜能锁定的内存
vi/etc/security/limits.conf
在最初增加以下的行
oraclesoftnproc2047
oraclehardnproc16384
oraclesoftnofile1024
oraclehardnofile65536
oraclesoftmemlock5194304#(这里是以KB为单元,一样平常年夜于即是SGA)
oraclehardmemlock5194304
7、使设置失效
sysctl-p
8、重启体系及启动oracle实例,上面是我们利用年夜内存页后的了局,
看到由于办理内存页而分外必要的内存(PageTables)为55M
cat/proc/meminfo
MemTotal:8177384kB
MemFree:950472kB
Buffers:16824kB
Cached:1365136kB
SwapCached:170652kB
Active:1274416kB
Inactive:1082156kB
HighTotal:0kB
HighFree:0kB
LowTotal:8177384kB
LowFree:950472kB
SwapTotal:10420208kB
SwapFree:10056116kB
Dirty:148kB
Writeback:0kB
AnonPages:982112kB
Mapped:52944kB
Slab:64568kB
PageTables:55580kB
NFS_Unstable:0kB
Bounce:0kB
CommitLimit:12153700kB
Committed_AS:2584964kB
VmallocTotal:34359738367kB
VmallocUsed:267584kB
VmallocChunk:34359470407kB
HugePages_Total:2300
HugePages_Free:264
HugePages_Rsvd:13
Hugepagesize:2048kB
如上因为我们的体系数据库SGA为4G,因而设置了2300个年夜内存页,如许可以供应充足多的年夜内存页供数据库的SGA利用。设置年夜内存的一个别的优点是能够分明的看到体系利用内存的情形,不然Oracle会占用buffer及cache内存,很难盘算体系空余的实践内存数目。
从内存meminfo信息中能够看出,2300个年夜内存页,被利用了2300-264=2036个(这个历程在启动数据库的时分是静态变更的,直到SGA用满)。
在设置的过程当中,发明我们的体系内核还不撑持年夜内存页,设置后看到HugePage_Total为0,申明设置有效,必要装置新的内核。年夜内存页的设置能够参考相干文档。
当设置完成后,同时设置lock_sga为true,Oracle数据库办事器不再产生大批利用swap分区的情形了,不再呈现功能妨碍。
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们! |
|