四 性能调试---内存性能分析( 三 )


-f: Report on the number of forks and the number of pages of virtual memory involved since boot-up.
-s: Print the total number of several kinds of paging- related events from the kernel sum structure that have occurred since boot-up or since vmstat was last executed with the -z option.
-z: Clear all accumulators in the kernel sum structure. This option is restricted to the super user.
对结果的说明:

在不带参数的vmstat的命令时,我们首先要关注的是avm(active virtual memory)列和free(free list zise)列的值 。如果avm的值很大,而free的值却很小,这时,系统可能有内存瓶颈,我们 必须用带-S选项的vmstat命令查看系统是否有deactivation/reactivation活动正在发生 。


利用ipcs分析消息队列、共享内存和信号量


ipcs - report status of interprocess communication facilities

ipcs displays certain information about active interprocess communication facilities. With no options, ipcs displays information in short format for the message queues, shared memory segments, and semaphores that are currently active in the system.

它的语法:

ipcs [-mqs] [-abcopt] [-C core] [-N namelist]


利用GlancePlus分析系统内存资源利用率


利用HP的GlancePlus可以对内存使用情况进行分析:

进入GlancePlus;
按?键进入联机帮助界面;
按m键进入内存的详细界面;
通过memory Detail Screen,我们可以知道内存的分布情况,物理内存多少、缓存多少、用户用了多少,系统用了多少、以及换页情况等 。


对内存需求密集型系统的性能调试


1)基于硬件的方法:

增加物理内存
使用无盘工作站替代X-terminal
2)基于软件的方法:

减小内核参数maxdsiz的值;
减少内存锁定的使用;
杀死不必要的进程;
识别出需要大量内存的进程;
重新设计应用;
减小内核的大小;
减小系统表的大小;
减小缓存区的大小;
3)利用serialize命令来调度大进程的系统资源需求

/usr/bin/serialize applicaiton
/usr/bin/serialize -p pid

推荐阅读