oracleのメモリ使用量が97%ほどに・・・減らしたいです
いつもお世話になります。
oracle8.1.7がインストールされている Linux サーバに関して、現在メモリ使用量が逼迫しているためか、
時々OSの処理が重くなり、応答が無くなる事が多々発生して困っています。
Database:Oracle 8.1.7 Enterprise Edition
Linux:RedHat Linux 6.2
freeコマンドで調べたところ、
---------------------------------------------------------------------------
[root@sample dir1]# free
total used free shared buffers cached
Mem: 2073296 1996752 76544 1575952 112904 813364
-/+ buffers/cache: 1070484 1002812
Swap: 2097136 2536 2094600
---------------------------------------------------------------------------
topコマンドで調べたところ(Shift + M でメモリ使用順としました)
---------------------------------------------------------------------------
6:05pm up 5:06, 2 users, load average: 0.22, 0.11, 0.10
69 processes: 66 sleeping, 1 running, 0 zombie, 2 stopped
CPU states: 17.3% user, 1.4% system, 0.0% nice, 81.1% idle
Mem: 2073296K av, 1996832K used, 76464K free, 2385012K shrd, 110684K buff
Swap: 2097136K av, 2632K used, 2094504K free 816100K cached
PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
1672 oracle 0 0 848M 848M 847M S 604M 0.0 41.9 13:47 oracle
1710 oracle 4 0 458M 458M 456M S 445M 1.5 22.6 13:03 oracle
1767 oracle 6 0 350M 350M 348M S 337M 2.3 17.3 10:17 oracle
1764 oracle 6 0 347M 347M 342M S 331M 2.3 17.1 4:38 oracle
1915 oracle 16 0 84564 82M 80532 S 68M 29.2 4.0 0:59 oracle
1688 oracle 0 0 74804 72M 73592 S 71M 0.0 3.5 0:36 oracle
1677 oracle 0 0 62808 61M 61100 S 46M 0.0 3.0 0:44 oracle
848 oracle 0 0 39160 38M 37960 S 36M 0.0 1.8 0:01 oracle
854 oracle 0 0 30092 29M 29632 S 25M 0.0 1.4 0:01 oracle
852 oracle 0 0 14592 14M 14144 S 9.8M 0.0 0.7 0:02 oracle
---------------------------------------------------------------------------
※10件のみとしました
上記となり、恐らくoracleがメモリ使用量を圧迫し、Swap領域も逼迫した場合にサーバ処理の
応答が無くなると推測しています。
上記を改善するために、init.ora 内の以下の項目を編集しようと考えていますが、数値を決めかねています。
サーバがフリーズ状態(僅かながらもゆっくり動いている)原因について、
何でも結構ですので、アドバイスいただけたらと思います。よろしくお願いいたします。
open_cursors = 1000
max_enabled_roles = 30
db_block_buffers = 64000
shared_pool_size = 524288000
large_pool_size = 1048576
java_pool_size = 0
log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800
processes = 150
log_buffer = 532480
db_block_size = 8192
sort_area_size = 1048576
sort_area_retained_size = 1048576
お礼
具体的に物理メモリの何%ぐらいまで使用できるか、定かではなかったので低めに設定しておりました。 もう少し増やして様子を伺ってみます。 やはり、個別にSQLのチューニングが必要なのですね。 今回はハード交換のみなのでシステム自体には手を付けない方針となっております。 稼動後、様子を伺いながら調整していこうと思います。 ありがとうございました。