根据收集的信息,对上周四早上到周五下午的内存使用情况做了统计。
收集信息的方法是svmon -gP 统计所有进程的内存使用情况。
经过对比分析,进程占内存的增长情况见excel表格中所示。排序后,增长在20000页面数(每页面数4k)的进程均为oracle进程。大约增长计算内存占用80M左右。其他操作系统所有进程内存占用基本不变,或者略有降低。
目前可以推断中内存的增长为oracle所致。
选取某一个oracle进程做分析。
进程 pid :200796
增长的程序段信息:
78e2d ffffffff work application stack s 37 0 0 37
78e2d ffffffff work application stack s 35 0 0 35
程序堆栈段增长2个页面,数值很小。
诸多进程增长内存占用的均为如下所述的段。共享段。
20c46 70000001 work default shmat/mmap s 65501 0 0 65501
主要增长部分为上述内存段、该内存段为共享内存段,一般情况是sga区的内存,是oracle进程共享的内存段。是否可以这样认为,oracle的sga区在不断扩大,因为设置了sga为4G,请oracle dba查一下,是不是最初分配的 不是4g,随着oracle的使用,db buffer不断增长,达到4G之后,也就不怎么涨了。
目前从操作系统层面可以得到这些信息,即。内存增长是oracle的共享段内存(主要是oracle的sga区)。
补充一点,该机器是IBM P55A,配置4C 8G内存。AIX 5306-sp4.oracle10g 10.2.0.3
[
本帖最后由 happy 于 2008-12-31 15:22 编辑 ]
附件:
webdb-内存分析2008-12-30.rar (22.45 KB)
收起