问题:Aix 6.1 下偶而有小机卡死报错: not memory enough , 只能重启主机恢复,对于Oracle 主机有时内存不足会导至数据库自动重启,影响太大,
解决办法:
1. 先通过 topas 查看内存占用如下图:
计算型内存: %Comp , 这部份内存量主要为ORACLE SGA和PGA
文件型内存: %Noncomp, %Client ,只需要使用整个系统很少的内存
Topas Monitor for host: crmdb1 EVENTS/QUEUES FILE/TTY Tue Sep 14 15:45:38 2021 Interval: 2 Cswitch 10730 Readch 5950.5K Syscall 173.2K Writech 1466.2K CPU User% Kern% Wait% Idle% Reads 3995 Rawin 0 ALL 45.8 2.0 0.3 51.9 Writes 3057 Ttyout 714 Forks 17 Igets 0 Nameork KBPS PID CPU% PgSp Ownern KB-Out Execs 11 Namei 1150 Total 3624.7 4042.1 3575.3 1602.8 2021.8 Runqueue 13.5 Dirblk 0 lrud 262156 0.0 1.2 root Waitqueue 0.0 oracle Bus10945946 0.0 6.6 oracle KB-Writ MEMORY Total 0.1 5869.8 464.0 804.6 5065.2 PAGING Real,MB 512000 vmmd 458770 0.0 0.8 root Faults 11646 % Comp 12 0 pvliststem 524308 0.0 0.4 rootad KB-Writ Steals 0 % Noncomp 87 0 Totalin 5898 4.1K 1.1K 4.1K 3.8 PgspIn 0 % Client 87 oracle 10814876 0.0 6.4 oracle PgspOut 0 oracle 10749344 0.0 5.1 oracle PageIn 0 PAGING SPACE oracle 3802472 4.0 6.4 oracle PageOut 16 Size,MB 65536 oracle 39257028 4.0 22.0 oracle Sios 16 % Used 13 pilegc 41615386 4.0 4.9 root % Free 87
一般的数据库服务器,文件型内存可以使用较少的空间,因为文件型内存并不主动释放,可能造成内存
资源的短缺及Paging Space使用率过高,所以数据库服务器上maxclient、maxperm、minperm的值不宜过大,
典型值如下:
maxclient% = 8
maxperm% = 12
minperm% = 5
使用 vmo 命令更改:
相看系统参数:
vmo -F -a
把文件型内存改为20%,
vmo -p -o maxclient%=20
vmo -p -o maxperm%=20