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. IPTABLES简介

    iptables防火墙工作原理 简介:iptables防火墙工作在网络层,针对TCP/IP数据包实施过滤和限制,iptables防火墙基于内核编码实现,具有非常稳定的性能和高效率: iptables属 ...

  2. angular(一)

    angularjs第一章•angluarjs介绍·什么是angularjs•AngularJS 是一个为动态WEB应用设计的结构框架,提供给大家一种新的开发应用方式,这种方式可以让你扩展HTML的语法 ...

  3. 深入理解Flask中的上下文

    https://blog.csdn.net/barrysj/article/details/51519254 1.AppContext类即是应用上下文,可以看到里面只保存了几个变量,其中比较重要的有: ...

  4. Spring Data 查询方法的规则定义(五)

    有句话这样说  欲练神功  挥刀自宫  请亲们先回到第一个  从Spring data 介绍 开始看  搭好环境 跟着步伐一块走 Spring Data 的方法必须严格按照它的规范进行编写,如果写错了 ...

  5. python基础-第九篇-9.1初了解Python线程、进程、协程

    了解相关概念之前,我们先来看一张图 进程: 优点:同时利用多个cpu,能够同时进行多个操作 缺点:耗费资源(重新开辟内存空间) 线程: 优点:共享内存,IO操作时候,创造并发操作 缺点:抢占资源 通过 ...

  6. Divisibility by Eight---cf550C(被8整除 暴力)

    题目链接:http://codeforces.com/problemset/problem/550/C 题意是给你一个不操过100位的数,问删除m位之后,问剩下的数不改变顺序能被8整除的数存在不存在: ...

  7. lua获取table的长度

    lua在获取table的size时,不能一味的使用类似于java里面的length函数 table的存储是类似hashTable的kv形式. -- table.getn(tableName) 得到一个 ...

  8. U盘安装CentOS7笔记

    准备工具: 8G左右U盘; 最新版UltraISO; CentOS7光盘镜像; CentOS7的镜像文件可以在网易的开源镜像站或者阿里云的开源镜像站下载,地址分别是:http://mirrors.16 ...

  9. Spark日志级别修改

    摘要 在学习使用Spark的过程中,总是想对内部运行过程作深入的了解,其中DEBUG和TRACE级别的日志可以为我们提供详细和有用的信息,那么如何进行合理设置呢,不复杂但也绝不是将一个INFO换为TR ...

  10. SDUT3143:Combinatorial mathematics(组合数学)

    题意:传送门 题目描述 As you know, shadow95 is pretty good at maths, especially combinatorial mathematics. Now ...