- 论坛徽章:
- 0
|
环境 产品AIX,平台pSeries)
问题描述: 本文介绍了查看共享内存的详细使用情况的方法.
解答:
系统内存的使用情况是影响系统整体性能的关键因素. 当前的主流数据库或应用
等大型程序通常承担庞大的业务压力,这就需要大量的共享内存以确保良好的性能。
而我们通常会遇到内存使用率异常高,或者内存耗尽的情况, 此时可以借助于
下面的方法,检查共享内存的详细使用情况及相关进程的信息。
1.ipcs 命令用于查看系统中共享内存的信息.
"-S" 参数将列出所有与此共享内存块相关联的SID(内存段号).
举例如下:
# ipcs -cmbpS
IPC status from /dev/mem as of Wed Feb 25 11:06:01 BEIST 2009
T ID KEY MODE OWNER GROUP CREATOR CGROUP
SEGSZ CPID LPID
Shared Memory:
m 512753697 0xffffffff --rw------- dwinst db2grp dwinst db2grp
1249165312 2773180 3498238
SID :
0x1f3b3e 0x124053 0x74326 0xa1d0b 0x152454
与这块共享内存相关联的段为: 0x1f3b3e 0x124053 0x74326 0xa1d0b 0x152454
2.svmon命令可以查看,当前使用这些段的进程:
# svmon -Sl
Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual
1f3b3e 78000003 work default shmat/mmap s 65284 0 0 65284
pid(s)=3948800, 3924330, 3801480, 3707204, 3547570, 3498298,
pid(s)=3465548, 3375538, 3019026, 2982196, 2691464, 2584950,
pid(s)=2412968, 2261334, 2220406, 2138490, 2118118, 2097452,
pid(s)=2093326, 2048302, 1929536, 1601864, 1450464, 1442226,
pid(s)=1380818, 1298830, 942412, 790792, 586094, 500078,
pid(s)=463158, 446964, 360720, 4010188, 3940488, 3903556,
pid(s)=3879078, 3817562, 3780778, 3743784, 3702992, 3584134,
pid(s)=3575948, 3563716, 3514416, 3498238, 3494010, 3453108,
pid(s)=3379402, 3326202, 3240040, 3080364, 3043556, 2961590,
pid(s)=2850868, 2826428, 2773180, 2728022, 2678824, 2408484,
pid(s)=1859804, 1785998, 1777896, 1552384, 1400900, 1359942,
pid(s)=1339490, 1183750, 1106086, 933920, 843992, 839782,
pid(s)=757788, 643126, 585930, 503830, 442478, 372796
3.如有必要,可以使用“ps -ef|grep PID”来查看对应进程的信息。 |
|