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 各个标识的含义 详解的更多相关文章

  1. Linux top命令的用法详细详解

    首先介绍top中一些字段的含义: VIRT:virtual memory usage 虚拟内存1.进程“需要的”虚拟内存大小,包括进程使用的库.代码.数据等2.假如进程申请100m的内存,但实际只使用 ...

  2. (转)Linux top命令的用法详细详解

    原文:https://yq.aliyun.com/articles/399004?spm=a2c4e.11153940.blogcont399002.9.3a19f00aHOA3SH# 摘要: 首先介 ...

  3. Linux命令 ls -l 输出内容含义详解

    Linux命令 ls -l s输出内容含义详解   1. ls  只显示文件名或者文件目录 2. ls -l(这个参数是字母L的小写,不是数字1) 用来查看详细的文件资料 在某个目录下键入ls -l可 ...

  4. 云计算:Linux运维核心管理命令详解

    云计算:Linux运维核心管理命令详解 想做好运维工作,人先要学会勤快: 居安而思危,勤记而补拙,方可不断提高: 别人资料不论你用着再如何爽那也是别人的: 自己总结东西是你自身特有的一种思想与理念的展 ...

  5. 【转】linux expr命令参数及用法详解

    在抓包过程中,查看某个设定时间内,数据上下行多少,用命令expr 计算! --------------------------------------------------------------- ...

  6. Linux "ls -l"文件列表权限详解

    ls Linux "ls -l"文件列表权限详解 1.使用 ls -l 命令 执行结果如下(/var/log) : drwxr-x--- root adm -- : apache2 ...

  7. Linux Bash命令关于程序调试详解

    转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...

  8. Oracle Statspack报告中各项指标含义详解~~学习性能必看!!!

    Oracle Statspack报告中各项指标含义详解~~学习性能必看!!! Data Buffer Hit Ratio#<#90# 数据块在数据缓冲区中的命中率,通常应该在90%以上,否则考虑 ...

  9. Linux的chattr与lsattr命令详解

    Linux的chattr与lsattr命令详解 这两个命令是用来查看和改变文件.目录属性的,与chmod这个命令相比,chmod只是改变文件的读写.执行权限,更底层的属性控制是由chattr来改变的. ...

随机推荐

  1. BroPHP使用心得

    使用BroPHP 学习框架的时候,遇到了不少的问题. 一.修改了mysql 的表结构后,在程序中始终不体现表的修改. 给一个表添加了几个字段,在程序中对表添加数据,无论是用 select(),还是用 ...

  2. C#中字符数组,字节数组和string之间的转化

    转自:http://blog.csdn.net/wangxiaoqin00007/article/details/17675419 NDC(NetworkDiskClient)的界面和后台程序之间用S ...

  3. python中yield使用

    16.yield使用   列表推导与生成器表达式   当我们创建了一个列表的时候,就创建了一个可以迭代的对象: >>> squares=[n*n for n in range(3)] ...

  4. Linux下桥接模式详解一

    注册博客园已经好长时间,一直以来也没有在上面写过文章,都是随意的记录在了未知笔记上,今天开始本着分享和学习的精神想把之前总结的笔记逐步分享到博客园,和大家一起学习,一起进步吧! 2016-09-20  ...

  5. jupter nootbok 快捷键、NumPy模块、Pandas模块初识

    jupter nootbok 快捷键 插入cell:a b 删除cell:x cell模式的切换:m:Markdown模式 y:code模式 运行cell:shift+enter tab:补全 shi ...

  6. Oracle记录登录失败的触发器

    前言:实现的功能主要是,oracle登录成功记录登录用户ip地址,登录失败记录登录失败ip地址 1,需要建立一个触发器记录登录成功的客户端用户的ip地址 大家都知道在v$session 中记录着客户端 ...

  7. matplotlib中文乱码解决方法

    每次编写代码时进行参数设置 import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 ...

  8. Bitmap: a C++ class

    Bitmap: a C++ class        The five steps involved to draw a bitmap: Load bitmap using LoadBitmap or ...

  9. Linux系统——date命令

    date命令 作用:用来显示或设定系统的日期与时间. 参数 -d<字符串>:显示字符串所指的日期与时间.字符串前后必须加上双引号: -s<字符串>:根据字符串来设置日期与时间. ...

  10. 网络爬虫Java实现抓取网页内容

    package 抓取网页; import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream; ...