top命令主要用来观察和收集运行在系统上的进程的一些有用信息。ps只是一个快照,是ps命令执行的那一瞬间的系统中进程的快照。top则可以用于持续观察。

第一步,在命令行键入top,回车进入top管理界面。

第一行其实和uptime的执行效果是一样的。

分析一下,12:48:06是当前运行这个命令的时候,机器的时间。  up  134 days, 19:36,指的是说这台机器,持续运行了134天了,启动于134天前的19:36。  5  users代表的是当前运行这个命令的时候,这台机器上总共登陆有5个用户(这个可以执行who命令查看当前具体是哪些用户登陆这个系统)。最后的load  average代表的是运行最近的1分钟,5分钟,15分钟的系统平均负载,平均负载是啥意思呢?平均负载就是指运行进程队列中的平均数量。假如你的cpu是1核的,那么0.1-1.0之间代表正常,超过1.0代表有进程在1秒内不能被处理,就是比如1核cpu一秒钟可以运行完成100个进程,而现在在运行队列中的进程数量是100,那么就说明系统负载是1.0  。如果1秒钟内有120个进程在等待,那么就是1.2,这时候,系统是来不及处理的,cpu处于100%运转状态也运行不完这么多进程。这个时候就说明系统的负担太重了。如果双核cpu的话,有两个可运行内核,这时候,0.0-2.0是正常的,4核的cpu,0.0-4.0是正常的。一般参考5分钟和15分钟,如果这两个中有一个数值太高了,就需要去分析一下了,及时关闭一些进程。那么还有一个问题,怎么知道我的电脑是几个核的?这时候就可以使用这个命令:grep 'model name' /proc/cpuinfo | wc -l

下图是查看一下当前是具体哪5个用户在使用这台机器:

下图是我的机器配置,运行  grep 'model name' /proc/cpuinfo | wc -l  可以看到,我的计算机现在是2核的。

接下来分析top命令输出的第二行:

第二行显示的是进程的概要信息,top命令中的tasks就是进程的意思。Tasks: 133 total代表的是当前有133个进程,2  running代表的是当前正在运行的进程的个数是2个,130sleeping代表130个进程处于休眠状态。休眠状态是啥?休眠(被阻塞)的进程处于一个特殊的不可执行状态。进程休眠由多种原因,但肯定都是为了等待一些事件。事件可能是一段时间从文件I/O读取更多数据,或者是某个硬件事件。一个进程还由可能在尝试获取一个已被占用的内核信号量时被迫进入休眠。休眠的一个常见原因就是文件I/O —— 如进程对一个文件执行了read()操作,而这需要从磁盘里读取。还有,进程在获取键盘输入的时候也需要等待。无论哪种情况,内核的操作都相同:进程把自己标记成休眠状态,从可执行红黑树中移出,放入等待队列,然后调用schedule()选择和执行一个其他进程。唤醒的过程刚好相反:进程被设置为可执行状态,然后再从等待队列中移到可执行红黑树中。stopped代表的意思是进程处于停止状态,stopped代表这个进程执行完成了,退出了,不会再被调度了。zombie进程代表僵尸进程。僵尸进程,一个进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)的数据结构(系统调用exit,它 的作用是使进程退出,但也仅仅限于将一个正常的进程变成一个僵尸进程,并不能将其完全销毁)。在Linux进程的状态中,僵尸进程是非常特殊的一种,它已 经放弃了几乎所有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态等信息供其他进程收集,除此之外,僵 尸进程不再占有任何内存空间。它需要它的父进程来为它收尸,如果他的父进程没安装SIGCHLD信号处理函数调用wait或waitpid()等待子进程 结束,又没有显式忽略该信号,那么它就一直保持僵尸状态,如果这时父进程结束了,那么init进程自动 会接手这个子进程,为它收尸,它还是能被清除的。但是如果如果父进程是一个循环,不会结束,那么子进程就会一直保持僵尸状态,这就是为什么系统中有时会有很多的僵尸进程。

接下来分析top命令输出的第三行:

第三行是从各种角度分析cpu当前的运行状态。1.2%us代表的是用户进程当前占用了1.2%的cpu时间。1.0%sy代表的是系统进程当前占用了1.0%的cpu时间。ni

代表用户进程空间内改变过优先级的进程占用CPU百分比。id代表空闲cpu百分比。wa代表等待输入输出的cpu时间百分比。

紧跟着的两行说明了系统内存的状态,第一行说的是系统的物理内存:总共有多少内存,当前用了多少,还有多少空闲,后一行说明的是系统交换空间总共有多少内存,当前用了多少,还有多少空闲。

最后一部分现实了当前运行的进程的详细列表:

PID:进程的ID
USER:进程属主的名字

PR:进程的优先级
NI:进程的nice值(介于-20 到 +19之间,值越大,越谦让)

VIRT:进程占用的虚拟内存总量
RES:进程占用的物理内存总量

SHR:进程和其他进程共享的内存总量
S:进程的状态(D代表可终端的休眠状态,R代表在运行的状态,S代表休眠状态,T代表跟踪状态或停止状态,Z代表僵化状态)

%CPU:进程使用的CPU时间比例

%MEM:进程实用的内存占可用内存的比例

TIME+:自进程启动到目前为止的CPU时间总量

COMMAND:进程所对应的命令行名称,也就是启动的程序名。

快捷键:

top界面按d键,可以更改刷新时间。默认3秒。

top界面按M键,可以按照内存来进行排序。

top界面按P键,可以按照cpu使用率来排序。

top界面按i键,可以只显示状态为R的进程。

top界面按c键,可以显示进程的完整的名称。

top -s以安全模式启动top界面,可以防止在top界面对进程进行修改操作。

按shift + >键,可以依次按照PID、USER、PR·····来进行排序。

按shift + <键,可以依次按照COMMAND、TIME+、%MEM·····来进行排序。

top界面按o键,还可以自定义显示哪些列。

top命令总结的更多相关文章

  1. linux的top命令参数详解

    简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...

  2. linux-linux top 命令各参数详解

    简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...

  3. linux系统top命令查看系统状态

    Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分区.执行的线程等信息.通过top命令可以有效的发现系统的缺陷出在哪里.是内存不够.CPU处理能力不够.IO读写过高. 使用SSH ...

  4. Top 命令详解

    Top 命令详解 先感受一下top命令的执行结果吧!哈哈-- top - 17:32:34 up 3 days, 8:04, 5 users, load average: 0.09, 0.12, 0. ...

  5. linux top命令查看内存及多核CPU的使用讲述

    查看多核CPU命令 mpstat -P ALL  和  sar -P ALL 说明:sar -P ALL > aaa.txt   重定向输出内容到文件 aaa.txt top命令 经常用来监控l ...

  6. TOP命令各个参数代表意义详解

    Top命令是Linux下常用的系统性能分析工具,能实时查看系统中各个进程资源占用情况. top - 16:24:25 up 284 days, 4:59, 1 user, load average: ...

  7. top命令

    TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中C ...

  8. Android中top命令字段含义

    PID       PR     CPU%      S       #THR           VSS        RSS       PCY           UID      Name 1 ...

  9. Top命令 -转

    Windows下的任务管理器虽然不好用(个人更喜欢Process Explorer些),但也算方便,可以方便的查看进程,CPU,内存...也可以很容易的结束进程 没有图形化界面下的Linux,也有命令 ...

  10. 【转】Linux Top 命令解析 比较详细

    TOP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况.   TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户 ...

随机推荐

  1. Docker - 在Ubuntu16.04中安装Docker CE

    Get Docker for Ubuntu Check system version root@Ubuntu16:~# uname -a Linux Ubuntu16 4.8.0-36-generic ...

  2. hdu2717Catch That Cow 简单BFS

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2717 刚开始思路错了,用的DP,一直WA,后来才发现是搜索,还是简单的BFS,顿时.... 思路: B ...

  3. Servlet,过滤器,监听器,拦截器的区别

    1.过滤器 Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码.做一些业务逻辑判断等.其工作原理是,只要你在web.xml ...

  4. 深入理解Activity的启动模式

    众所周知,当我们多次启动同一个Activity时,会创建多个该Activity的实例,系统会按照先进后出的原则,将它们一一放进任务栈中,然后我们按back键,系统就会将栈顶的Activity移除栈,直 ...

  5. Mac主机映射到域名

    1, control+space  打开spotlight, 搜索"终端" 2, 打开终端 3, 在"终端"界面中输入: sudo vi /etc/hosts ...

  6. Cohort Analysis and LifeCycle Grids mixed segmentation with R(转)

    This is the third post about LifeCycle Grids. You can find the first post about the sense of LifeCyc ...

  7. Spring Boot 学习(3)

    文 by / 林本托 Tips 做一个终身学习的人. Tips 代码路径:https://github.com/iqcz/Springbootdemo/tree/master/code01/ch3 W ...

  8. C语言之运算符和条件结构

    表达式:是有操作数和运算符组成的. 操作数:常量.变量.子表达式 X=(x+2)*(y-2); 运算符: 赋值运算符:= .其作用是做赋值运算,将等号后边的值赋值给等号前边的. 复合赋值运算符: += ...

  9. 模板C++ 03图论算法 1最短路之单源最短路(SPFA)

    3.1最短路之单源最短路(SPFA) 松弛:常听人说松弛,一直不懂,后来明白其实就是更新某点到源点最短距离. 邻接表:表示与一个点联通的所有路. 如果从一个点沿着某条路径出发,又回到了自己,而且所经过 ...

  10. HTMLCollection 对象详解,以及为什么循环获取的dom合集操作可能会出现下标不正确的情况?

    有时候循环dom合集,然后操作其中的某些dom之后,发现下标不正确了 比如我们要删除一个dom合集的时候: var selectDom = document.getElementsByClassNam ...