注: 当pi和po为连续非零值时,系统运行速度将会降低。
pi 每秒钟从页空间(Paging Space)调入内存的页面数(4KB/page);
po 每秒钟从内存调入页空间(Paging Space)的页面数;
当进程请求的内存页面数大于内存中可用页面数时, 一些内存页会被换出内存, 存放于系统页空间(Paging Space)中, 以后使用时再调入内存。由于访问页空间中页面的速度远小于对内存页面的访问速度,所以频繁的换页会降低系统运行速度。
注: 当fr和sr的数值增大时,sample明内存负载增大。
fr 为填充内存空闲sample或分配给某进程所需要释放的内存页面;
sr 为得到fr数量的空闲页面所需要检查的页面数;
fr/sr比例为1:4sample明每释放一个内存页面需要检查四个页面。
当po*SYS>;fr(SYS为一系统参数,可用命令schedtune查看)时,系统自身认为已到崩溃边缘。SYS在有128MB或更多内存的系统上默认值为0, sample示禁止内存加载控制,否则默认值为6。系统崩溃sample明此时系统使用大量时间用于内存换入/换出,而没有足够时间处理应用或正常工作。这时一些进程将被临时挂起,系统运行明显减慢。
2. svmon
svmon命令统计并显示虚拟内存的使用情况。
以超级用户(root)身份运行命令
# svmon -Pau 10 | more
输出如下:
Pid Command Inuse Pin Pgspace
13794 dtwm 1603 1 449
Pid: 13794
Command: dtwm
这条命令显示出使用内存最多的前十个进程,并针对每个进程给出了一个详细列sample(上sample为其中一个进程的描述信息)。在每个进程的列sample中,找出Type为"work"及Description为"private"的相应行,查看Pgspace显示的使用页面数(每个页面大小为4096字节),该数值为此段(segment)在虚拟内存空间中占用的工作页面(working pages)数,即占用的页空间中的页面数。如果Pgspace值持续增长,系统则有可能存在内存泄漏(memory leak)。当应用程序不能正常释放内存时会出现内存泄漏的问题。
上述命令格式及输出结果适用于AIX4.3.3之前的版本。在AIX4.3.3的系统上可运行命令
svmon -Pu 10 | more
其输出格式与上条命令基本相同,但字段"Pgspace"用"Pgsp"取代。
3. ps
ps命令显示当前运行的进程状态信息。
运行下列命令
#ps gv | head -n 1; ps gv | egrep -v "RSS" | sort +6b -7 -n -r
SIZE 页空间中分配给该进程的Type为"work", Description为"private"的内存段大小(K字节 为单位)。该数值也可通过命令svmon显示。
RSS 进程当前占用的内存段(物理内存)大小(K字节为单位),包括Type为"work"和Description 为"private"的内存段及Type为"pers"和Description为"code"的内存段。该数值可通 过命令svmon显示。
TRS 进程常驻内存的正文段大小,包括Type为"pers"及Description为"code"的内存段。该 数值可通过命令svmon显示。
%MEM RSS占系统物理内存的百分比(%)。
如上所述,使用ps命令同样可以查看各进程的内存分配情况。
CPU 瓶颈
下面我们将就如何使用命令vmstat、tprof和ps检查系统是否存在CPU瓶颈做一个简单介绍。
1. vmstat
使用命令
# vmstat 1 10
上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2021 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 下一页
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 灌水 拒绝 欢迎 系统 文件 命令 使用 内存 可以 安装 |
注册
个人空间
