top命令查看进程列表

top命令是linux下常用的性能分析工具,能实时显示系统中各个进程的资源占用状况.和win的资源管理器类似.top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态,如果在前台执行该命令,它将独占前台,知道用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最”敏感”的任务列表.该命令可以按CPU使用,内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互命令或者在个人定制文件中进行设定.

top命令详解:

1.命令格式:

top [参数]

2.功能:

显示当前系统正在执行的进程的相关信息,包括进程的相关信息,包括进程ID,内存占用率,CPU占用率等等

3:主要参数:

参数

说明

-b

批处理

-c

显示完整的命令

-I

忽略失效过程

-s

保密模式

-S

累积模式

-i<时间>

设置间隔时间

-u<用户名>

指定用户名

-p<进程号>

指定进程

-n<次数>

循环显示的次数

4.使用案例

案例1:

#top

top - 10:03:56 up 26 min,  1 user,  load average: 0.00, 0.00, 0.00

Tasks: 101 total,   1 running, 100 sleeping,   0 stopped,   0 zombie

Cpu(s):  0.4%us,  0.8%sy,  0.0%ni, 97.3%id,  1.4%wa,  0.0%hi,  0.1%si,  0.0%st

Mem:   1922432k total,   156380k used,  1766052k free,    13788k buffers

Swap:  1048568k total,        0k used,  1048568k free,    63608k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

1653 root      20   0 15032 1096  836 R  2.0  0.1   0:00.01 top

1 root      20   0 19356 1528 1228 S  0.0  0.1   0:02.58 init

2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd

3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0

省略部分显示结果

分析:前五行是当前系统情况整体的统计信息区.具体介绍如下:

第一行:任务队列信息,同uptime命令的执行结果,具体参数说明如下:

10:03:56 : 当前系统时间

up 26 min : 系统连续运行的时间(不重启,不断电,不关机)

1 user : 当前有1个用户登录系统

load average: 0.00, 0.00, 0.00      : ;oad average后面的三个数字分别是一分钟,五分钟,十五分钟的负载情况.

load average : 数据是每隔五秒检查一次活跃的进程数,然后按特定算法算出的数值.如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了.

第二行,Tasks----任务(进程),具体信息说明如下:

系统目前有101个进程,目前有一个正在运行,100个在sleep,0个进程stopped,0个僵死进程.

第三行,CPU状态信息,具体属性说明如下:

0.4%us :  用户控件占用CPU的百分比

0.8%sy :   内核控件占用CPU的百分比

0.0%ni :  改变过优先级的进程占用CPU的百分比

97.3%id :  空闲CPU百分比

1.4%wa : IO等待占用的CPU的百分比

0.0%hi :  硬中断占用CPU的百分比

0.1%si :  软中断占用CPU的百分比

0.0%st : 虚拟机被hpyervisor偷去的CPU时间

注释:hypervisor是一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件.也可叫做VMM(虚拟机监视器).

hypervisor是一种在虚拟环境中的”元”操作系统.他们可以访问服务器上包括磁盘和内存在内的所有物理服务设备,hypervisor补单协调着这些硬件资源的访问,也同时在各个虚拟机之间施加防护.当服务器启动并执行hypervisor时,他回家再所有虚拟机客户端的操作系统,同时会分配给每一台虚拟机适量的内存,cpu,网络,磁盘.

备注:在这里CPU的使用比率和win上的概念不同,需要理解linux系统用户空间和内核空间的相关知识!

第四行,内存状态,具体信息如下:

1922432k total  : 物理内存总量 (20G)

156380k used : 使用中的内存总量(1.5G)

1766052k free : 空闲内存总量(17.5G)

13788k buffers : 缓存的内存量(137M)

第五行,swap交换分区信息,具体说明如下:

1048568k total : 交换区总量(10G)

0k used : 使用的交换区总量(0K)

1048568k free : 空闲交换区总量(10 G)

63608k cached : 缓冲的交换区总量(6M)

备注:第四行使用中的内存总量(used)指的是现在系统内核控制的内存书,空闲内存总量(free)是内核中还未纳入其管控范围的数量.纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不必为此担心.

如果出于习惯去计算可用内存书,这里有个近似的计算公式,第四行的free+第四行的buffers+第五行的cached,按这个公式此台服务器的可用内存:1766052k + 13788k + 63608k =18.5G左右.

对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了

第六行,空行

第七行以下,各进程(任务)的状态监控,项目列信息说明如下:

项目列表名称

说明

PID

进程ID

USER

进程所有者

PR

进程优先级

NI

nice值.负值表示高优先级,正值表示低优先级

VIRT

进程使用的虚拟内存总量,单位KB.VIRT=SWAP+RES

RES

进程使用的,违背换出的物理内存大小,单位KB.RES=CODE+DATA

SHR

共享内存大小,单位KB

S

进程状态.D(不可中断的睡眠状态),R,S,T(跟踪/停止),Z

%CPU

上次更新到现在的CPU时间占用百分比

%MEM

进程使用的物理内存百分比

TIME+

进程使用的CPU时间总计,单位1/100秒

COMMAND

进程名称(命令行/命令名)

其他使用技巧:

1.多核CPU监控

在top命令基本视图中,按键盘数字”1”,可监控每个逻辑CPU的状况,再按数字键1,就会返回top基本视图界面

2.高亮显示当前运行进程

在top命令的试图下,按下字母键b(打开/关闭加亮效果)

我们发现top进程被加亮了,通配进程就是视图第二行显示的唯一的运行状态的那个进程,可以通过字母键y关闭或打开运行状态进程的加亮效果.

3.进程字段排序

默认进入top时,各进程是按照CPU的占用量来排序的,敲击字母键x(打开/关闭排序列的加亮效果),可以看到top默认的排序列是”%CPU”.(centOS貌似不行)

4.通过”shift+左右方向键”可以向左或向右改变排序.(centOS貌似不行)

5.top交互模式(就是说在进入top命令基本视图中输入,类似与vim)

在top命令执行过程中可以使用的一些交互命令.这些命令都是单字母的,如果再命令行中使用的s选项,其中一些命令可能会被屏蔽.

命令

说明

h

显示帮助画面,给出一些简短的命令总结说明

k

终止一个进程

i

忽略闲置的僵死进程.这是一个开关式命令

q

退出top

r

重新安排一个进程的优先级别

S

切换到累计模式

s

改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成m s.输入0值则系统将不断刷新,默认值是5s

f或者F

从当前显示中添加或删除项目

o或O(字母)

改变显示项目的顺序

l(小写字母)

切换显示平均负载和启动时间信息

m

切换显示内存信息

t

切换显示进程和CPU状态信息

c

切换显示命令名称和完整命令行

M

根据驻留内存大小进行排序

P

根据CPU适用百分比大小进行排序

T

根据时间/累计时间进行排序

W

将当前设置写入~/.toprc文件中

top命令查看进程列表的更多相关文章

  1. top命令查看进程下线程信息以及jstack的使用

    转自:https://www.cnblogs.com/shengulong/p/8513652.html top -Hp pid可以查看某个进程的线程信息 -H 显示线程信息,-p指定pid jsta ...

  2. linux作为服务器,利用top命令查看服务进程的耗用情况

    top命令查看进程服务如下: 其中shift+m可以按照内存的消耗进行排序,shift+p是按照cpu的消耗进程,排序,其中对cpu的消耗是一定时间,谁占用的时间越长消耗越大, 还有按空格键,会刷新一 ...

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

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

  4. linux top命令查看内存及多核CPU的使用讲述【转】

    转载一下top使用后详细的参数,之前做的笔记找不见了,转载一下,作为以后的使用参考: 原文地址:http://blog.csdn.net/linghao00/article/details/80592 ...

  5. linux怎样使用top命令查看系统状态

    有时候有很多问题只有在线上或者预发环境才能发现,而线上又不能Debug,所以线上问题定位就只能看日志,系统状态和Dump线程. Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分 ...

  6. top命令查看CPU状态信息:%us、%sy、%ni、%id、%wa、%hi、%si、%st 表示的是什么意思

    Linux CPU负载状态:%us/%sy/%ni/%id/%wa/%hi/%si/%st含义 2018-08-26 分类:Linux 评论(0)   缙哥哥发现用了雅黑的探针,在 Linux 的 C ...

  7. linux下用top命令查看cpu利用率超过100%

    今天跑了一个非常耗时的批量插入操作..通过top命令查看cpu以及内存的使用的时候,cpu的时候查过了120%..以前没注意..通过在top的情况下按大键盘的1,查看的cpu的核数为4核. 通过网上查 ...

  8. 查看程序是否启动或者关闭--比如查看Tomcat是否开启!直接用ps命令查看进程就行了啊

    1.查看程序是否启动或者关闭--比如查看Tomcat是否开启!直接用ps命令查看进程就行了啊 2.Tomcat服务器和虚拟机的关系,Tomcat启动运行过程要调用系统环境变量的java_home啊,J ...

  9. ps命令查看进程指定项目信息、用户名过长显示UID

    有次一个在使用ps命令时,发现部分用户显示的是用户名,有些用户显示的是UID,那是因为用户名长度超过8位的:也就是说ps命令用户名列默认只能显示8位(含8位)的用户名,超过8位就显示UID,如何让长度 ...

随机推荐

  1. 自动化运维工具Ansible的简单使用

    一 基础使用 1. 简介ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置. ...

  2. 为什么要用webUI?

    先看看身边有哪些软件已经在用webUI: 1.QQ查找窗口: 2.LOL主界面: 3.EC营销软件功能界面: 三个例子足以说明一切: 1.HTML是目前在用户体验.界面舒适度最先进的语言 2.HTML ...

  3. 弗雷塞斯 从生物学到生物信息学到机器学习 转录组入门(3):了解fastq测序数据

    sra文件转换为fastq格式 1 fastq-dump -h --split-3 也就是说如果SRA文件中只有一个文件,那么这个参数就会被忽略.如果原文件中有两个文件,那么它就会把成对的文件按*_1 ...

  4. Yaml学习笔录

    YAML概要 [YAML](http://yaml.org/)是"YAML Ain't a Markup Language"(YAML不是一种置标语言)的递归缩写,早先YAML的意 ...

  5. 关于Floyd-Warshall算法由前趋矩阵计算出的最短路径反映出了算法的执行过程特性的证明

    引言:Floyd-Warshall算法作为经典的动态规划算法,能够在O(n3)复杂度之内计算出所有点对之间的最短路径,且由于其常数较小,对于中等规模数据运行效率依然可观.算法共使用n此迭代,n为顶点个 ...

  6. 爬虫验证码处理与IP处理

    引入 相关的门户网站在进行登录的时候,如果用户连续登录的次数超过3次或者5次的时候,就会在登录页中动态生成验证码.通过验证码达到分流和反爬的效果. - 1.对携带验证码的页面数据进行抓取 - 2.可以 ...

  7. 批处理运行Python脚本

    创建 在某个目录下创建script.bat文件 比如在D:\Code\VimCode\Python_auto\Script中 编辑script.bat文件 写入 @python.exe D:\Code ...

  8. Delphi三层开发小技巧:TClientDataSet的Delta妙用

    Delphi三层开发小技巧:TClientDataSet的Delta妙用 转载 2014年10月13日 09:41:14 标签: 三层 / ClientDataSet 318 from :http:/ ...

  9. 操作SQL Server的帮助类

    可作为以后开发的参考代码,也可以再整理下,代码如下: using System; using System.Collections.Generic; using System.Linq; using ...

  10. 【LA 3989 训练指南】女士的选择 【稳定婚姻问题】

    我们先来学一下稳定婚姻问题 什么是稳定婚姻问题? 有n个女士和n个男士,他们要一一进行配对.每个男士心中对这n个女士都有一个排名,同理,每个女士心里对n个男性也有一个排名.我们要做的是,在他们配对完成 ...