- 相關(guān)推薦
內(nèi)存耗盡導(dǎo)致系統(tǒng)緩慢的解決方法
一套測(cè)試庫(kù)系統(tǒng)響應(yīng)緩慢,通SQLPLUS登陸到數(shù)據(jù)庫(kù)中大約5-6秒才能登陸進(jìn)去,正常情況下也就1秒即可登陸,簡(jiǎn)單的一個(gè)show parameter 命令也得好幾秒才返回。下面YJBYS小編為大家整理了關(guān)于內(nèi)存耗盡導(dǎo)致系統(tǒng)緩慢的解決方法,希望對(duì)你有所幫助。
登陸到數(shù)據(jù)庫(kù)中發(fā)現(xiàn)ALERT文件報(bào)了大量的ORA-3136錯(cuò)誤信息。
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
Tue Jan 10 11:19:17 2012
WARNING: inbound connection timed out (ORA-3136)
ORA-3136錯(cuò)誤一般在網(wǎng)絡(luò)不穩(wěn)定,數(shù)據(jù)庫(kù)系統(tǒng)資源耗盡的時(shí)候,客戶端進(jìn)行連接的時(shí)候容易出現(xiàn)。
topas一下發(fā)現(xiàn)系統(tǒng)的內(nèi)存資源耗光了,交換空間都用掉了30%多。
MEMORY
Real,MB 32768
% Comp 39.6
% Noncomp 61.2
% Client 61.2
PAGING SPACE
Size,MB 32768
% Used 31.1
% Free 68.8
大部分內(nèi)存都被客戶端分頁(yè)占掉了。
數(shù)據(jù)庫(kù)的物理內(nèi)存為32G,交換空間為32G如下:
$ lsattr -El mem0
goodsize 32768 Amount of usable physical memory in Mbytes False
size 32768 Total amount of physical memory in Mbytes False
$ lsps -a
Page Space Physical Volume Volume Group Size %Used Active Auto Type
paging00 hdisk1 rootvg 16384MB 31 yes yes lv
hd6 hdisk0 rootvg 16384MB 31 yes yes lv
$
檢查了一下數(shù)據(jù)庫(kù)配置ORACLE的SGA,PGA都設(shè)置的不大
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ---------------------- -----------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 10G
sga_target big integer 10G
SQL> show parameter pga
NAME TYPE VALUE
------------------------------------ ---------------------- -----------
pga_aggregate_target big integer 4G
總共才14G,還有大約18G的空間可供操作系統(tǒng)利用,不應(yīng)該出現(xiàn)內(nèi)存緊張的問題。
$ vmstat -v
8388608 memory pages
7961825 lruable pages
10110 free pages
4 memory pools
994480 pinned pages
80.0 maxpin percentage
20.0 minperm percentage
80.0 maxperm percentage
63.9 numperm percentage
5093543 file pages
0.0 compressed percentage
0 compressed pages
63.9 numclient percentage
80.0 maxclient percentage
5093543 client pages
0 remote pageouts scheduled
32561 pending disk I/Os blocked with no pbuf
18706130 paging space I/Os blocked with no psbuf
2740 filesystem I/Os blocked with no fsbuf
200 client filesystem I/Os blocked with no fsbuf
1904898 external pager filesystem I/Os blocked with no fsbuf
0 Virtualized Partition Memory Page Faults
0.00 Time resolving virtualized partition memory page faults
通過vmstat -v 發(fā)現(xiàn)系統(tǒng)的內(nèi)核參數(shù) maxperm, maxclient 都設(shè)置為80%,對(duì)于數(shù)據(jù)庫(kù)系統(tǒng)來說,這個(gè)設(shè)置的太高了。
numperm percentage 都達(dá)到了63.9 了,大部分內(nèi)存都被文件系統(tǒng)緩存占掉了。
切換到root用戶執(zhí)行如下命令:
SXTESTDB11@/# vmo -p -o maxclient%=30 -o maxperm%=30 -o minperm%=10 -o strict_maxclient=1
Setting minperm% to 10 in nextboot file
Setting maxperm% to 30 in nextboot file
Setting maxclient% to 30 in nextboot file
Setting strict_maxclient to 1 in nextboot file
Setting minperm% to 10
Setting maxperm% to 30
Setting maxclient% to 30
Setting strict_maxclient to 1
SXTESTDB11@/# vmo -L | grep strict
strict_maxclient 1 1 1 0 1 boolean D
strict_maxperm
strict_maxperm 0 0 0 0 1 boolean D
strict_maxclient
一段時(shí)間后系統(tǒng)內(nèi)存恢復(fù)正常;
$ vmstat -v
8388608 memory pages
7961825 lruable pages
2700191 free pages
4 memory pools
994864 pinned pages
80.0 maxpin percentage
10.0 minperm percentage
30.0 maxperm percentage
29.9 numperm percentage
2384473 file pages
0.0 compressed percentage
0 compressed pages
29.9 numclient percentage
30.0 maxclient percentage
2384473 client pages
0 remote pageouts scheduled
32561 pending disk I/Os blocked with no pbuf
18706130 paging space I/Os blocked with no psbuf
2740 filesystem I/Os blocked with no fsbuf
200 client filesystem I/Os blocked with no fsbuf
1904898 external pager filesystem I/Os blocked with no fsbuf
0 Virtualized Partition Memory Page Faults
0.00 Time resolving virtualized partition memory page faults
numperm percentage 已經(jīng)大大降低。
topas系統(tǒng)內(nèi)存情況如下:
MEMORY
Real,MB 32768
% Comp 39.6
% Noncomp 28.9
% Client 28.9
再次登錄數(shù)據(jù)庫(kù),即可瞬間完成。
【內(nèi)存耗盡導(dǎo)致系統(tǒng)緩慢的解決方法】相關(guān)文章:
JAVA垃圾收集算法與內(nèi)存泄露的解決方法04-07
用友NC系統(tǒng)常見問題解決方法02-24
電腦內(nèi)存優(yōu)化技巧02-24
Java的內(nèi)存劃分全解析12-17
用友NC系統(tǒng)使用過程中常見問題和解決方法02-08
怎么設(shè)置硬盤虛擬內(nèi)存03-31