top 命令
直接在shell中打入top命令回撤即可
接下来在top运行状态中
a)按1 ,可以查看cpu核数
b)按m,l,t相应的知道内存,负载,任务的运行情况。不过默认top命令就显示这些。
就是tom命令上面的4行。可以敲打命令试一下。
c)z更换颜色,shift+z可以设置颜色。
设置颜色界面有英文提示,现按m然后进入0-7,可以对内存显示的颜色进行更换,其它对映的操作可以看shift+z后里面有提示说明。
d)shift+b表粗状态的值,这样更容易看。
f)'x'将排序字段高亮显示(纵列);'y'将运行进程高亮显示(横行)
通过shift+ > 活着shift+ < 来改变排序的列。
g)i 显示空闲任务
top到底给我们展示了什么,怎么看系统的当前的运行性能。
1.系统运行时间和平均负载:
top命令的顶部显示与uptime命令相似的输出。
这些字段显示:
- 当前时间
- 系统已运行的时间
- 当前登录用户的数量
- 相应最近5、10和15分钟内的平均负载。
可以使用'l'命令切换uptime的显示。 这里重点讲下load average 平均负载
$ uptime
14:34:03 up 10:43, 4 users, load average: 1.73 0.60 7.98
uptime
14:34:03 up 10:43, 4 users, load average: 1.73 0.60 7.98
单颗CPU:
- 过去一分钟内,过载 73%,就是说有73%的操作必须等待
- 过去五分钟内,cpu空闲了 40%
- 过去十五分钟,过载698%。
两颗CPU:
- 过去一分钟内,空闲了13%
- 过去五分钟内,空闲70%
- 过去十五分钟,过载350%
参考值: 如果cpu是1核的,那么1 1 1 是最佳状态只,超过了就是过载了。 如果cpu是2核的,那么 2 2 2 就是最佳,超过了就是过载。 简单算法:用上面的1.73,0.60,7.98来算,一核的就用(1-1.73)*100/100 就是过载率了。 2.任务: 第二行显示的是任务或者进程的总结。进程可以处于不同的状态。这里显示了全部进程的数量。除此之外,还有正在运行、睡眠、停止、僵尸进程的数量(僵尸是一种进程的状态)。这些进程概括信息可以用't'切换显示。 误解:load average 在load average高的情况下分析系统瓶颈 http://elf8848.iteye.com/blog/1870730 这个时候可以顺带 1)查看系统负载vmstat 2)查看磁盘负载iostat 3.CPU 状态: 下一行显示的是CPU状态。 这里显示了不同模式下的所占CPU时间的百分比。这些不同的CPU时间表示:
- us, user: 运行(未调整优先级的) 用户进程的CPU时间
- sy,system: 运行内核进程的CPU时间
- ni,niced:运行已调整优先级的用户进程的CPU时间
- wa,IO wait: 用于等待IO完成的CPU时间
- hi:处理硬件中断的CPU时间
- si: 处理软件中断的CPU时间
- st:这个虚拟机被hypervisor偷去的CPU时间
4.内存使用:
接下来两行显示内存使用率,有点像'free'命令。
第一行是物理内存使用,第二行是虚拟内存使用(交换空间)。
物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存。
相似地:交换部分显示的是:全部、已使用、空闲和缓冲交换空间。
Mem: 191272k total 物理内存总量 173656k used 使用的物理内存总量 17616k free 空闲内存总量 22052k buffers 用作内核缓存的内存量 Swap: 192772k total 交换区总量 0k used 使用的交换区总量 192772k free 空闲交换区总量 123988k cached 缓冲的交换区总量。 内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖, 该数值即为这些内容已存在于内存中的交换区的大小。 相应的内存再次被换出时可不必再对交换区写入。 内存显示可以用'm'命令切换。
5.字段 在横向列出的系统属性和状态下面,是以列显示的进程。不同的列代表下面要解释的不同属性。 默认上,top显示这些关于进程的属性: PID 进程ID,进程的唯一标识符 USER 进程所有者的实际用户名。 PR 进程的调度优先级。这个字段的一些值是'rt'。这意味这这些进程运行在实时态。 NI 进程的nice值(优先级)。越小的值意味着越高的优先级。 VIRT 进程使用的虚拟内存。 RES 驻留内存大小。驻留内存是任务使用的非交换物理内存大小。 SHR SHR是进程使用的共享内存。 S 这个是进程的状态。它有以下不同的值:
- D - 不可中断的睡眠态。
- R – 运行态
- S – 睡眠态
- T – 被跟踪或已停止
- Z – 僵尸态
%CPU 自从上一次更新时到现在任务所使用的CPU时间百分比。 %MEM 进程使用的可用物理内存百分比。 TIME+ 任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。 COMMAND 运行进程所使用的命令。
参考网址: http://os.51cto.com/art/201312/423220_all.htm
https://segmentfault.com/q/1010000000141313
http://www.jb51.net/article/40807.htm
http://blog.csdn.net/zhshow/article/details/6045622