linux top 各个标识的含义 详解
top之前一直都是一知半解,今天周末加班,我的工作已经完成,在等同事吃饭,就把这个写下来。

第一行:
top - 20:42:47 up 57 days, 1:25, 4 users, load average: 0.00, 0.00, 0.00
现在时间20:42:47,启动了57 days, 1:25分钟。4个用户在线,1,5,15分钟的load情况
第二行:
Tasks: 199 total, 1 running, 198 sleeping, 0 stopped, 0 zombie
不用解释,至于为什么stopped还存着,不清楚。已经google清楚,一个前端进程被ctrl+z,变成stopped,同时可以用kill -STOP 1234产生效果。可以用fg恢复到前台,也可以用bg恢复到后台,也可以用kill -CONT 1234恢复。在STOPPED状态下,可以kill进程。
第三行:
Cpu(s): 3.4%us, 0.8%sy, 0.5%ni, 94.8%id, 0.0%wa, 0.0%hi, 0.6%si, 0.0%st 这都是占用时长的百分比
3.4的未nice过的用户空间线程执行时间,0.8的内核空间执行时间,0.5的用户进程空间内被nice过的进程的执行时间,94.8 idle,0.0的等待IO时间,0.6的hardware interruption时间,0.0的software interruption时间。
第四/五行:
Mem: 16467920k total, 11401804k used, 5066116k free, 598016k buffers
Swap: 0k total, 0k used, 0k free, 2988464k cached
cached和Swap没关系,就是mem里边cache住的。used值包括buffers和cached,真正在used是这个used减去(buffers+cached),而这个free是减去(buffers+cached)后的free,真正的free是加上(buffers+cached)的,因为(buffers+cached)是用来缓存程序可能用到的内容。
[root@localhost ~]# free -m (拿这个来说,第二行的-/+后的结果才是真正的used和free)
total used free shared buffers cached
Mem: 24030 8939 15091 0 192 3641
-/+ buffers/cache: 5105 18925
具体buffers和cache,buffers不仅存着数据,还会存数据的来源、权限,跟踪去处。cache只存数据。见参考
第六行:
PID,USER进程号,用户名。
NI,nice,好看不好看。。动态修正CPU调度。范围(-20~19)。越大,cpu调度越一般,越小,cpu调度越偏向它。一般用于后台进程,调整也是往大了调,用来给前台进程让出CPU资源。
PR:优先级,会有两种格式,一种是数字(默认20),一种是RT字符串。
PR默认是20,越小,优先级越高。修改nice可以同时修改PR,测试过程:先开一个窗口,运行wc,另开一个窗口运行top,按N按照PID倒序排,按r输入要renice的PID,然后输入-19~20之间的值,可以看到NI变成输入的值,PR=PR+NI。修改NI得到PR的范围是0~39。优先级由高到低
RT是real-time。只能用chrt -p (1~99) pid来修改。chrt -p 1 1234会将1234的PR改成-2,chrt -p 98 1234变成-99。chrt -p 99 1234会变成RT......只要chrt过,修改nice后PR不会再更改。修改chrt得到的PR范围是RT~-2。优先级由高到低
VIRT:一个进程瞬时可以访问的所有内存总和大小,包括RES自己在使用的,共享的类库,和其他进程共享的内存,内存中的文件数据。共享的类库,一个大文件,只有一个程序片段被用到,这个文件会被 map到VIRT和SHR中,程序片段会在RES中。
S:状态S -- Process Status. The status of the task which can be one of:
D Uninterruptible sleep (usually IO)
R Running or runnable (on run queue)
S Interruptible sleep (waiting for an event to complete)
T Stopped, either by a job control signal or because it is being traced.
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z Defunct ("zombie") process, terminated but not reaped by its parent.
%CPU,总体CPU百分比,按H可以显示所有线程。8个核,从0~800%。
%mem,RES占总MEM的百分比
TIME+,自启动到现在占用的CPU时间。
linux top 各个标识的含义 详解的更多相关文章
- Linux top命令的用法详细详解
首先介绍top中一些字段的含义: VIRT:virtual memory usage 虚拟内存1.进程“需要的”虚拟内存大小,包括进程使用的库.代码.数据等2.假如进程申请100m的内存,但实际只使用 ...
- (转)Linux top命令的用法详细详解
原文:https://yq.aliyun.com/articles/399004?spm=a2c4e.11153940.blogcont399002.9.3a19f00aHOA3SH# 摘要: 首先介 ...
- Linux命令 ls -l 输出内容含义详解
Linux命令 ls -l s输出内容含义详解 1. ls 只显示文件名或者文件目录 2. ls -l(这个参数是字母L的小写,不是数字1) 用来查看详细的文件资料 在某个目录下键入ls -l可 ...
- 云计算:Linux运维核心管理命令详解
云计算:Linux运维核心管理命令详解 想做好运维工作,人先要学会勤快: 居安而思危,勤记而补拙,方可不断提高: 别人资料不论你用着再如何爽那也是别人的: 自己总结东西是你自身特有的一种思想与理念的展 ...
- 【转】linux expr命令参数及用法详解
在抓包过程中,查看某个设定时间内,数据上下行多少,用命令expr 计算! --------------------------------------------------------------- ...
- Linux "ls -l"文件列表权限详解
ls Linux "ls -l"文件列表权限详解 1.使用 ls -l 命令 执行结果如下(/var/log) : drwxr-x--- root adm -- : apache2 ...
- Linux Bash命令关于程序调试详解
转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...
- Oracle Statspack报告中各项指标含义详解~~学习性能必看!!!
Oracle Statspack报告中各项指标含义详解~~学习性能必看!!! Data Buffer Hit Ratio#<#90# 数据块在数据缓冲区中的命中率,通常应该在90%以上,否则考虑 ...
- Linux的chattr与lsattr命令详解
Linux的chattr与lsattr命令详解 这两个命令是用来查看和改变文件.目录属性的,与chmod这个命令相比,chmod只是改变文件的读写.执行权限,更底层的属性控制是由chattr来改变的. ...
随机推荐
- Sublime Text 3如何编译运行c++程序
扯 去了一趟清北学堂感觉自己玩的特别嗨,算法没学到什么,前端和爬虫的知识到是会了不少. 然后知道了有一个叫做sublime text 3的编辑器,好用不好用不知道,就冲着它好看,就决定以后就用它了. ...
- docker remote api enable in ubuntu
现在使用docker作为开发环境,操作系统是ubuntu16.10,pycharm中使用remote interpreter,需要用到remote api,结果发现自己的原答案是针对ubuntu 14 ...
- Storm-源码分析-Topology Submit-Nimbus
Nimbus Server Nimbus server, 首先从启动命令开始, 同样是使用storm命令"storm nimbus"来启动 看下源码, 此处和上面client不同, ...
- OSGI框架—HelloWorld小实例
OSGi(Open Service Gateway Initiative)技术是Java动态化模块化系统的一系列规范.OSGi一方面指维护OSGi规范的OSGI官方联盟,另一方面指的是该组织维护的基于 ...
- window下cmd的宽度调整
一直被cmd的宽度这么了好些年,刚才搜索了下,还真可以设置.标题栏右键属性,调整屏幕缓冲区宽度,只要足够长就不会换行了,然后调整窗口大小-宽度,不能超过屏幕缓冲区宽度,当小于屏幕缓冲区的时候,就会显示 ...
- 前端构建工具gulpjs的使用介绍及技巧(一)
原文链接:http://www.cnblogs.com/2050/p/4198792.html gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非 ...
- Flask之flask-migrate
简介 flask-migrate是flask的一个扩展模块,主要是扩展数据库表结构的. 官方文档:http://flask-migrate.readthedocs.io/en/latest/ 使用fl ...
- 4.GIT安装
最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Window ...
- git从历史上的某一次提交处建立分支
$ git log --oneline --all --graph --decorate * 1efcf18 (HEAD -> master) commit * 6a7ace8 commit * ...
- oracle查看被锁的表和被锁的进程,杀掉进程
-- 1. 查看被锁的表 SELECT p.spid, a.serial#, c.object_name, b.session_id, b.oracle_username,b.os_user_name ...