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
阅读(987) | 评论(0) | 转发(0) |