免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 896 | 回复: 0
打印 上一主题 下一主题

收藏《系统瓶颈查找系列》 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-12 12:18 |只看该作者 |倒序浏览

深入理解linux系统任务管理器top
Qqlinux 系统瓶颈查找系列一
想了解系统里有什么资源在占用简单的用Top可以看一下
如图:
第一行,很容易看出来了吧
简单说一下load average: * * *
第一个数是:平均5分钟以内有多少进程在竞争CPU
第二个数是:平均10分钟以内有多少进程在竞争CPU
第三个数是:平均15分钟以内有多少进程在竞争CPU
第二行:
Tasks: *
多少个任务数,如果经常在150个以上,需要考虑一下,系统是不是出问题了。
正常在80-110个之间,都能接受。
running  多少个正在运行的进行。这是一个4核的CPU,所以同时可以1个以上的Running。
Sleeping 同Running。 
Running+Sleeping=Tasks
        Stop 见名思意吧。
        zombie 僵尸进程的数量,如果有大量zombie,就需要考虑一下是不是系统那方面有出现了瓶劲,致使进程不能正常结常。或是应用程序出来了什么问题。可以慢慢查一下
通常从IO方面查一下,另外也要注意发生zombie进程的是什么进程在去分析问题出来在那里了,如果是系统进程,最好能测一下lib方面的问题,我曾遇到过slackware系统进程出现zombie后来重新编译了相应的lib做了一个光盘重装后问题解决了。
第三行:
CPU:
Us: 用户程序占用CPU时间百分比。
用户程序占用CPU的值大于50%或经常大于70%时,应该给于重示,分析问出在那里,能不能给缓存或是别的方法处理。
Sy:系统进程占用CPU时间百分比
如果该值较高,说明内核有可能存在病态问题,需要进一步分析问题出在那里。从内核编译方面着手分析一下。
Ni: Nice调整占用CPU时间百分比
Id: 系统空闲CPU时间百分比
Wa: IO等待消耗的CPU时间百分比
第四行及第五行
也是free 的输出结果
Mem:内存总数,多少被使用,多少空闲,多少做了buffer
Swap: 多少Swap,多少被使用,多少空闲,多少做了cached
这里如果Swap被使用了较多,但CPU较空闲,可以考虑禁用swap,让CPU也去干干活,不要让全部的活让内存干了就行了。
第六行:
PID        进程的ID
USER        进程的属主
PR        进程优级
NI        Nice的级别
VIRT        Virtual Image 单位Kb
在内存的虚拟镜象占用多少内存
RES        Resident size (kb)
在物理内存中占用的内存大小
SHR        Shared Mem size单位Kb
进程共享内存大小
S = State        State of the process: S=sleeping, R=running, T=stopped or traced,
D=interruptible sleep, Z=zombie. The process state is discussed further in
1.1.7, “Process state”.
多注意一下这个,有很多BT的面试希望问这个
%CPU        CPU占用的百分数
%MEM        Mem占用的百分数
TIME+        占用CPU的时间
COMMAND        运行的程序
在Top中一些有用的建:
t        把CPU那例关闭或打开
m        把MEM那例关闭或打开
A        按不同的方式显示Top的格式,这个很容易找到占用资源的进程,,我也最喜欢这个
f        如果对Top的显示不满意,就按f进入配置吧,象Windows的任管理器一样好配置
o        用f配置完了,记着按o应用
r        重设进程的nice级别.等于renice
k        Kill 掉相应的进程.等于kill
下一讲:系统分析中的屠龙刀vmstat
系统分析中的屠龙刀vmstat
Q哥 系统瓶颈查找系列二
作/译者:吴炳锡(Email: )
qqlinux2@hotmail.com
,来源:
http://coolriver.cublog.cn
,转载请注明作/译者和出处,并且不能用于商业用途,违者必究
上篇:
深入理解linux系统任务管理器top
http://linux.chinaunix.net/bbs/thread-916282-1-2.html
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b     swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0    0 1371344 200444 382120    0    0     1     1   70   11  0  0 100  0  0
vmstat 是用来查看系统的物理内存,交换内存,block I/O ,系统调用,CPU活动状态,中断。可以说如果100%理解了vmstat那个对Linux系统瓶颈查找应该没什么什么问题了。所以我称它为系统瓶颈查找中的屠龙刀。
Vmstat 输入出信息分为6类,下面我将一一讲解一下:
Procs:
r: 系统等待CPU运行数
这个值如果常期不为1,说明系统CPU资源不太够。
b: 系统中不能中断的进程数
如正在输出输入的操作
Memory:
单位: KB
swpd swap分区占用的数量。一般这个值一般为零。如果不为零时,要看一下si,so的值,例如swpd的值为500M,但si,so值长期为0,也是不用担心内存不够用的。另外在交换分区大量占用,但si,so长期不为零时,如果CPU空才较多,可以考虑把把交换分区禁用,也让CPU干点活。
Free: 空闲内存的数量
Buff :读写内存缓存的数量,我的理解:通常是CPU和内存之间的cache
Cache: 文件系统的cache ,如果频繁的文件访问,能够被cache住,那么系统的IO也会比较少。
Swap
单位: KBps
交换内存使用情况
si : 由交换分区进入内存的数量
so: 由内存调入交换分区的数量
通常如果内存数量够用,这个两值应该应常为零的。如果这两个值长期不为零,且数值较大,说明内存不足,需要考虑加内存了。
Io
磁盘读写情况 单位: block/s
Bi 从块设备写入的数据总量
Bo从块设备读的数据总量
如果这些值较大,CPU也会占用过高。所以能把IO放到磁盘处理也会省很多CPU的。这也为什么要用硬Raid不用软Raid的原因,减少CPU的浪费。不过,现在发现CPU比较强,特别是一些多核的CPU,经常会剩很多,所以让CPU多干点也行。
System
这个是系统中断,看到CPU的占用多时,一定是这里的中断多了。 单位: s
In : 每秒中断的次数
Cs: 每秒上下文切换的次数
Cpu
Cpu的使用情况 单位 : 百分比
Us 用户进程占用CPU的数量
这个值一般很少10以内或左右,峰值经常超过85%,需要注意,长期在50%,也需要注意看看有什么可优化的,如果不行,就分流,或是换更强的Server吧,特别是CPU。
Sy 系统占用的数量
这个值如果经常过高在40以上,就要考虑是不是内核有问题,可以重做一下内核测试一下,或是升级一下内核。 可以说这个值高不是系统的好表现情况。
Id  CPU的空闲数量
如果常空闲数少于15,就去分析吧,CPU不够用了。
Wa IO等待消耗的CPU时间百分比 这个值和IO里面的两个值成正比。
Wt 这个是2.6以上的内核才有的。虚拟机占用的数量。一般没用。
常用格式:
Vmstat 3
Vmstat 1
Vmstat 5
可以试一下用这些去取值分析
下一讲systat 这个包
其实我也想搞成一个系列,从系统开始,到网络方面,及进程跟踪调试这样都涉及一下,所以大家有什么好的建义,可以提出来,尽量也能顶出来一个好的东西,也算是我对Cuer奉献。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/56711/showart_440810.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP