[诊断]Hp unix下Oracle单进程使用内存过多
【IT168技术文档】
摘要:有时会看到hp-unix下单个Oracle进程占用内存很多,有时又会很少,好多人对此都有些疑惑,是正常的还是内存泄露?同时好多人对相关的概念也不清晰,本文以一个问题入门来解答一下这方面的疑问。
1 引言
一直未太关注过Hp unix下单进程内存的使用问题,因我的各正式系统库的这部分都是很正常的,每个Oracle的进程内存的占用以性能观测工具观察在7mb左右。且系统的内存使用比也比较平稳。直到最近,itpub赵宇的一个问题才使我对Hp unix下Oracle进程的内存使用捉摸一番。帖子中单个Oracle进程以kmeminfo工具及Top工具来看占用内存很多个在100mb之上。新开一个Oracle连接什么也不做相应的后台进程也会占用93.2mb内存。相应的问题就来了,难道发生了内存泄露?单个进程占这么多内存正常吗?93.2mb内存由哪些部分组成的呢?
2 本文使用的系统工具
2.1 glance软件
Glance是Hp出品的一个非常好用的hp unix的性能监测和诊断工具,功能类似Aix的nmon工具。可以用其十分方便的表现系统性能(cpu、内存、IO、网络。。)的时时态及保存状态的历史,方便的找出系统性能的瓶颈,glance是一个比Top好用的十分多的一个工具。不过glance不是像Top一样的免费软件,glance工具需要购买,也可以向Hp工程师要一个免注册码的glance。Hp unix application盘上有一个Trail版的glance,可以使用30天,可以临时用或感受一下。这个工具可以方便的诊断单进程的内存使用,包含了类以solaris中的pmap命令的功能。
sd11#[root:/]swlist -l product|grep -i glance
Glance C.03.72.00 HP GlancePlus/UX
2.2 kmeminfo工具
Kmeminfo是一个hp的unsupport的内部工具,非常好用,用于内存具体使用的诊断。例如我想知道系统中所有的用户进程每个占用了多少内存?内存占用系统部分每个子部分都用了多少?Buffer cache占用的细节等等。Kmeminfo –user查看每个用户进程每个占用了多少内存的结果是按降序排序的,看起来非常的方便。如需要可以向Hp工程师要一个。
2.3 procsize 工具
Procsize也是一个unsupport的内部工具,用于观察进程的UAREA、TEXT、DATA、STACK等部分都为多少的细节,只所以使用这个工具是为了更好的说明ps命令的SZ。
2.4 ps命令
不用太细说,应该是每个人都用过,查看进程状态的。
0
相关文章