內存耗盡導致系統緩慢的解決方法

時間:2024-06-12 16:27:31 Linux認證 我要投稿
  • 相關推薦

內存耗盡導致系統緩慢的解決方法

  一套測試庫系統響應緩慢,通SQLPLUS登陸到數據庫中大約5-6秒才能登陸進去,正常情況下也就1秒即可登陸,簡單的一個show parameter 命令也得好幾秒才返回。下面YJBYS小編為大家整理了關于內存耗盡導致系統緩慢的解決方法,希望對你有所幫助。

  登陸到數據庫中發現ALERT文件報了大量的ORA-3136錯誤信息。

  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錯誤一般在網絡不穩定,數據庫系統資源耗盡的時候,客戶端進行連接的時候容易出現。

  topas一下發現系統的內存資源耗光了,交換空間都用掉了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

  大部分內存都被客戶端分頁占掉了。

  數據庫的物理內存為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

  $

  檢查了一下數據庫配置ORACLE的SGA,PGA都設置的不大

  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的空間可供操作系統利用,不應該出現內存緊張的問題。

  $ 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 發現系統的內核參數 maxperm, maxclient 都設置為80%,對于數據庫系統來說,這個設置的太高了。

  numperm percentage 都達到了63.9 了,大部分內存都被文件系統緩存占掉了。

  切換到root用戶執行如下命令:

  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

  一段時間后系統內存恢復正常;

  $ 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 已經大大降低。

  topas系統內存情況如下:

  MEMORY

  Real,MB 32768

  % Comp 39.6

  % Noncomp 28.9

  % Client 28.9

  再次登錄數據庫,即可瞬間完成。

【內存耗盡導致系統緩慢的解決方法】相關文章:

電腦內存常見故障及解決方法05-12

手機內存卡故障及解決方法10-10

內存導致電腦花屏怎么解決10-16

JAVA垃圾收集算法與內存泄露的解決方法12-04

Linux系統死機解決方法01-22

電腦內存六大故障以及解決方法09-26

Windows系統常見的幾個故障及解決方法08-12

導致開關電源嘯叫的原因及解決方法08-25

智能會議系統常見故障及解決方法10-24

Intel傲騰內存是內存還是固態硬盤06-17

亚洲制服丝袜二区欧美精品,亚洲精品无码视频乱码,日韩av无码一区二区,国产人妖视频一区二区
天天躁日日躁久久 | 亚洲色中文字幕在线播放囯产免费 | 亚洲中文在线观看 | 亚洲AV色影在线 | 日本三级国产精品一卡两卡 | 综合在线视频精品专区 |