列出内存占用率前10的进程相关信息:

p5b@/#svmon -Pt10 | perl -e 'while(<>){print if($.==2||$&&&!$s++);$.=0 if(/^-+$/)}'
-------------------------------------------------------------------------------
     Pid Command          Inuse      Pin     Pgsp  Virtual 64-bit Mthrd  16MB
  266328 oracle          302987     8363     4627   153126      Y     N     N
  290960 oracle          291616     8363     4627   150515      Y     N     N
 1609924 oracle          291135     8363     4627   150139      Y     N     N
  647244 oracle          290967     8363     4627   149971      Y     N     N
  512226 oracle          290932     8363     4627   149942      Y     N     N
 1016016 oracle          257793     8363     4627   149748      Y     N     N
  929800 oracle          181864     8363     4627   149650      Y     N     N
  360676 oracle          181861     8363     4627   149819      Y     N     N
  610440 oracle          170520     8363     4627   149635      Y     N     N
  958666 oracle          167321     8363     4627   149427      Y     N     N

用svmon -P pid查看某个进程内存堆栈:

p5b@/#svmon -P 111574

-------------------------------------------------------------------------------
     Pid Command          Inuse      Pin     Pgsp  Virtual 64-bit Mthrd  16MB
  111574 oracle         5310325    65558    97690  5286445      Y     N     N

    Vsid      Esid Type Description              PSize  Inuse   Pin Pgsp Virtual
  1e0c7c  7000002f work default shmat/mmap           s  65536     0  721 65536
       0         0 work kernel segment (lgpg_vsid=0) L     16    16    0    16
  1f4c79  7000002c work default shmat/mmap           s  65536     0   88 65536
  1f0c78  7000002b work default shmat/mmap           s  65536     0  140 65536
......

查看内存使用情况:

p5b@/#svmon
               size      inuse       free        pin    virtual
memory     10485759   10053474     432285     863173    7083459
pg space    2097152     213345

               work       pers       clnt
pin          862933          0        240
in use      7018787          0    3034687

可以看到,系统共有10485759/256/1024=40G内存,应用程序占用内存7018787/256/1024=27G,文件缓存3034687/257/1024=11.5G。

非计算用的文件型内存使用由三个参数控制:

maxclient% 文件型内存可使用内存总的百分比的最大值
maxperm%  文件型内存可使用内存总的百分比的最大值
minperm% 文件型内存可使用内存总的百分比的最小值

如果数据库使用裸设备,数据不经过操作系统直接和磁盘IO,文件型内存使用应该比较低,而且这部分内存不会自动释放,可能会由于内存资源紧张导致产生换页。而Oracle数据库的SGA一般pin在内存中,操作系统端通过如下2个参数设置:

maxpin% = 80   --此值可以升高
v_pinshm = 1   --允许pin住内存

可以通过以下三个命令查询这些参数:

vmo -L
vmstat -v
vmo -a

可以用以下命令修改:

vmo -p -o maxclent%=20
vmo -p -o maxperm%=20
vmo -p -o minperm%=5

用-p参数,立即生效的,不需要重启,下次重启仍然有效。
如果使用-r参数,是不立即生效的,重启才能生效,重启生效的参数记录在 /etc/tunables/nextboot文件:

p5b@/#cat /etc/tunables/nextboot
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.

# bos530 src/bos/usr/sbin/perf/tune/nextboot 1.1

# Licensed Materials - Property of IBM

# (C) COPYRIGHT International Business Machines Corp. 2002
# All Rights Reserved

# US Government Users Restricted Rights - Use, duplication or
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

# IBM_PROLOG_END_TAG

vmo:
        v_pinshm = "1"
        maxperm% = "20"
        maxclient% = "20"
        minperm% = "5"

no:
        ipqmaxlen = "512"

 

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>