[Linux 性能检测工具]TOP
TOP
NAME
显示linux任务
语法
top -hv | -abcHimMsS -d delay -n iterations -p pid [, pid ...]
描述
top程序提供了系统实时信息,显示系统的总体信息和一组由内核管理的任务,系统总体信息的类型,和任务列表上类型,顺序和大小信息,都可以由用户配置,重启机制就有效。
提供了有限的一些交互接口让用户配置,涵盖了操作的每个方面。当top引用这个文件,可以随意命名top程序,然后当读写一个配置文件的时候新的名称会被引用到top的显示和使用。
encompassing every aspect of its operation. And while top is referred to throughout this document, you are free to name the program anything you wish. That new name, possibly an alias, will then be reflected on top’s display and used when reading and writing a configuration file.
命令行选项
-a 根据内存使用排序
-b 在输出到文件的时候比较有用,除了指定-n和ctrl+c情况下,其他状况下不会停止。
-c 在完全命令行和程序名之间切换,(可以通过比较加-c和不加-c在COMMAND列的显示)
-d 连续出报告之间的延迟,之后可是使用交互命令s,d来修改
-h 显示帮助
-H 显示到线程级别
-i 不显示空闲的或者僵死(zombie)进程
-m VIRT/USED之间的切换,USED是值内存中的+换出的
-M 显示内存单位(K,M,G),总内存要显示浮点值
-n 显示次数限制
-p 跟踪的进程id,最多20个,格式-pN1 -pN2 ... or -pN1, N2 [,...]
-s 保密模式,就算是root也会被要求
-S 启动累计模式,
-u 监控由某个用户启动的程序
-U 监控由某个用户启动的程序,This matches real, effective, saved, and filesystem UIDs.(搞不懂)
-v 查看版本
报告
a:PID 进程id
b:PPID 父进程id
c:RUSER 进程实际拥有者
d:UID 进程有效拥有者的id
e:USER 进程有效拥有者名
f:GROUP 进程有效拥有的组名
g:TTY 控制终端的名(搞不清楚)
h:PR 进程优先级
i:NI 进程的NICE值,越低说明优先级越高,如果为0 说明用基础的优先级,调整之后会在优先级上做调整
j:P 最后使用的CPU(SMP),如果是在真SMP环境,这个值会感觉被顺序的改变,因为内核内部使用弱affinity。
k:%CPU CPU使用率
l:TIME 总共被这个程序花掉的CPU时间
m:TIME+ 和time一样就是多了2个小数位
n:%MEM 内存使用率(RES)
o:VIRT 虚拟内存镜像(KB)(感觉是windows的虚拟地址空间),总共被进程使用的虚拟内存量,包含所有的代码数据和共享库和被换出的页
USED=RES+SWAP,VIRT到底是啥
p:SWAP 每个进程使用的SWAP大小
q:RES 每个进程使用的内存大小(非swaped物理内存)RES=CODE+DATA
r:CODE 用来执行代码存放代码的物理内存 TRS
s:DATA 用来执行代码存放数据的物理内存 DRS
t:SHR 共享内存
u:nFLT major页错误量
v:nDRT 脏页量,从上次写入磁盘到现在的脏页量
w:S 进程状态,D=不可中断睡眠,R=运行,S=睡眠,T=跟踪停止,Z=僵死
这里的R状态是可以被运行的意思。
x:Command
命令名可以是命令也可以是程序名,可以通过-c参数做切换,也可以使用交互性命令切换。
y:WCHAN
在什么函数里面睡眠,如果运行这个,那么top的工作计划会增加700KB,如果要减少只能停止或重启
z:Flags 这列表示进程当前的调度标记,以16进制方式(搞不懂)
选择和调整列位置
用o来调整位置,按小写右移,大写左移
用f来调整显示的列,然后按对应的字母,显示为大写,并且有*表示显示,否则不显示。
总体区域
略
交互性命令
?/h 帮助
= 退出限制,限制,i/-i空闲进程不现实,n最大显示几个任务,-p指定进程
A 对齐显示,在对齐模式和全屏模式切换,可以使用G命令选择窗口
B 开启停用对总体趋于和当前窗口粗体显示,会被x,y影响
d/s 修改采样频率
g 修改当前窗口名
a/w 使用a,w来切换当前窗口
G 切换窗口,使用-来显示和隐藏当前窗口
I 关闭Solaris模式,关闭之后,CPU使用率会被除以CPU个数
U 选择一个用户,对real,effective,saved和filesystem有刻意匹配
k kill一个进程,提供PID,然后会发一个signal,默认是SIGTERM,如果想要反悔,先填入pid,然后在signal里面填0
q 退出top
r 对task设置nice值
W 写配置文件,默认写到$HOME/.toprc
Z 修改配色方案
总体区域命令
l 打开关闭平均负荷和启动时间栏
m 打开关闭mem,swap栏
t 打开关闭cpu,task栏
1 查看每个cpu状态
进程区域命令
b 对高亮部分粗体还是保留,影响x,y显示,只有在任意一个启用时可用
x 对排序列高亮
y 对running状态进程高亮
z 打开关闭配色
task区域的内容
c 进程名和命令之前切换
f/o 选择显示的列和修改显示列的顺序
H 启动线程级别
S 启动累计模式
u 显示指定的用户(不知道和U有啥区别)
task区域的大小
i off显示所有的进程,on不现实空闲进程或者僵死进程
n 限制最大显示进程数
排序
</> 可以通过<,>移动排序列
F/O 选择排序字段
R 修改,倒序还是顺序
M/N/P/T 来对%MEM,PID,%CPU,TIME+排序
参考
linux top VIRT RES SHR SWAP DATA内存参数详解
后记
top太强大,没有提到的地方请看man吧
[Linux 性能检测工具]TOP的更多相关文章
- Linux性能分析工具top命令详解
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析. top命令说明 [www.linuxidc.com@linuxidc-t-tomcat-1 ...
- [Linux 性能检测工具]PIDSTAT
PIDSTAT NAME pidstat对linux任务的统计 语法 pidstat [ -C comm ] [ -d ] [ -h ] [ -I ] [ -l ] [ -p { pid [,...] ...
- linux性能检测工具
- [Linux 性能检测工具]FREE
FREE NAME free显示系统可用内存和已使用内存 语法 free [-b | -k | -m] [-o] [-s delay ] [-t] [-l] [-V] 描述 free显示了总可用和被用 ...
- [Linux 性能检测工具]SAR
SAR NAME: SAR报告,收集,保存系统活动信息 语法: sar [ -A ] [ -b ] [ -B ] [ -C ] [ -d ] [ -h ] [ -i interval ] [ -m ...
- [Linux 性能检测工具]IOSTAT
IOSTAT NAME: Iostat, 报告CPU的统计,和 I/O的统计. 语法: iostat [ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k ...
- [Linux 性能检测工具]DF
DF NAME: df 报告了文件系统的使用 语法: df [OPTION]... [FILE]... 描述: Df显示了以文件名为从参数查看所在文件系统的可用空间.如果没有指定文件那么会显示所有的文 ...
- [Linux 性能检测工具]VMSTAT
VMSTAT NAME: Vmstat: 报告虚拟内存统计 语法 : vmstat [-a] [-n] [-t] [-S unit] [delay [ count]] ...
- linux性能分析工具Top
随机推荐
- Can't install mysql-python version 1.2.5 in Windows
Can't install mysql-python version 1.2.5 in Windows http://stackoverflow.com/questions/37092125/cant ...
- lua编译出so文件
把lua编译出so文件 http://superuser.com/questions/557884/getting-error-recompile-with-fpic http://guiquanz. ...
- java servlet手机app访问接口(三)高德地图云存储及检索
这篇关于高德地图的随笔内容会多一点, 一.业务说明 对应APP业务中的成员有两类,一是服务人员,二是被服务人员, 主要实现功能, 对APP中的服务人员位置进行时时定位, 然后通过被服务人员登 ...
- python补充最常见的内置函数
最常见的内置函数是: print("Hello World!") 数学运算 abs(-5) # 取绝对值,也就是5 round(2. ...
- nodejs中全局变量
1.global 类似于客户端javascript运行环境中的window module1.js: module.exports={}; //耻辱的使用了全局变量 global.varA = &quo ...
- .NET DLR 上的IronScheme 语言互操作&&IronScheme控制台输入中文的问题
前言 一直以来对Lisp语言怀有很崇敬的心里,<黑客与画家>对Lisp更是推崇备至,虽然看了不少有关Lisp的介绍但都没有机会去写段程序试试,就像我对C++一样,多少有点敬畏.这个周末花了 ...
- javascript使浏览器关闭前弹出确认
当用户关闭页面时,弹出对话框,让用户确认是否关闭,选择确定则页面关闭,否则页面不关闭. 效果体验:http://keleyi.com/keleyi/phtml/js/index.htm 完整代码: & ...
- [GitHub] GitHub使用教程for Eclipse
1.下载egit插件 打开Eclipse,git需要eclipse授权,通过网页是无法下载egit的安装包的.在菜单栏依次打开eclipse→help→install new software→add ...
- 【ios】使用Block对POST异步操作的简单封装
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3409721.html 一般情况下的POST异步操作需要实现以下 ...
- spring理解
Struts与Hibernate可以做什么事? Struts,Mvc中控制层解决方案,可以进行请求数据自动封装.类型转换.文件上传.效验… Hibernate,持久层的解决方案:可以做到,把对象保存到 ...