文档章节

linux 进程查看下(top)

闪电
 闪电
发布于 2015/05/09 23:49
字数 1249
阅读 16
收藏 0

top:动态查看进程的变化

转载请出自出处:http://eksliang.iteye.com/blog/2166641

相对于ps是选取一个时间点的进程状态,top则可以持续检测进程运行的状态。使用方法如下:

 

top [-d 数字]  |  top  [-bnp]
参数:
-d:后面可以接秒数,就是整个进程界面更新的秒数。默认是5秒
-n:与-b搭配,意义是,需要进行几次top的输出结果。
-p:指定某些个PID来进行查看监测而已。
在top执行过程当中可以使用的按键命令:
	?:显示在top当中可以输入的按键命令
	P:以CPU的使用资源排序显示
	M:以内存的使用资源排序显示
	N:以PID来排序
	T:由该进程使用的CPU时间累积(TIME+)排序
	K:给予某个PID一个信号(signal);
	r:给予某个PID重新定制一个nice的值
	q:离开top软件的按键

        top这个程序可以持续检测整个系统的进程工作状态。在默认情况下,每次更新进程资源的时间为5秒,不过,可以使用-d来进行修改。top主要分为两个界面,上半部分的界面为整个系统的资源使用状态,下半部分界面,则为每个进程使用的资源情况

 

    在终端直接输入top命令,如下所示:

 

top - 17:32:50 up 12:09,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  83 total,   1 running,  82 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.7%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1030680k total,   854936k used,   175744k free,    76468k buffers
Swap:  2064376k total,        0k used,  2064376k free,   453240k cached
  
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                    
  595 root      20   0     0    0    0 S  0.3  0.0   0:01.45 flush-8:0                                                                                                  
 1490 root      20   0 28372 3980 3288 S  0.3  0.4   0:54.73 vmtoolsd                                                                                                   
    1 root      20   0  2900 1444 1224 S  0.0  0.1   0:01.77 init                     
    .....省略

 先看上半部分:总共分为五行

 

第一行(top):这一行显示的信息分别为:

当前系统的时间,即17:32:50;开机到目前为止所经过的时间,即up 12:09;

1 user:当前登录系统的人数;

load average: 0.00, 0.00, 0.00:系统在最近1、5、15分钟内的平均负载。

第二行(tasks):这一行显示的是进程的总量与进程的状态

83 total 进程的总量
1 running 正在运行的进程数
82 sleeping 挂起的进程数
0 stopped 停止的进程数
 0 zombie 僵尸进程数

第三行(Cpu(s)):这一行显示的是cpu的整体负载

0.0%us 用户空间占用CPU的百分比
0.7%sy 系统空间占用CPU的百分比
0.0%ni 用户空间内改变过优先级的进程占用CPU百分比
99.3%id 空闲CPU百分比
0.0%wa 等待I/O输入输出的进程占用百分比

第四行(Mem):表示目前系统物理内存的使用情况

1030680k total 物理内存总量
854936k used 已经使用的内存总量
17616k free 剩余的内存总量
76468k buffers 用作内核缓存的内存量 

第五行(Swap):表示目前系统虚拟内存的使用情况

2064376k total 虚拟内存的总量
0k used 已经使用的虚拟内存总量
2064376k free 剩余虚拟的内存总量
453240k cached 物理内存跟虚拟内存进行交换的缓冲区大小

 

在看下半部分:每个进程的使用资源情况

PID 进程id
USER 进程所有者的用户名
PR  NI 这两个代表进程的优先级,越小在同一个时间片被CPU抢到的概率越大
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES 进程使用的、未被换出的物理内存大小,单位kb
SHR  共享内存大小,单位kb
S 进程状态。D=不可中断的睡眠状态、R=运行、S=睡眠、T=跟踪/停止、Z=僵尸进程
%CPU 上次更新到现在占用CPU的百分比
%MEM 进程使用的物理内存的百分比
COMMAND  命令名

 

top默认使用CPU的使用率(%CPU)进行排序,我一般喜欢使用内存的使用率进行排序,这个时候可以按下“M”,若要恢复则按下“P”即可。

如果你要将top的结果输出成文件时,可以这样做

参考实例:将top的信息进行2次,然后将内容重定向到./top.txt

[root@localhost test]# top -b -n 2 >> ./top.txt

 参考实例:查看单一进程

我们自己的bash PID可由$$变量获得,使用top持续查看该PID

[root@localhost test]# echo $$
8612
[root@localhost test]# top -p 8612

 参考实例:修改进程的优先级

在上述实例中,直接按下r之后,会出现如下图所示



 这个时候输入PID号码,按回车,这个时候输入10,如下图所示



 看到没有,NI,进程的优先级已经由0变成了10

 

 

 

 

本文转载自:http://eksliang.iteye.com/blog/2166641

闪电
粉丝 75
博文 392
码字总数 6789
作品 0
海淀
技术主管
私信 提问
linux下进程、端口号相互查看方法

linux下进程、端口号相互查看方法 linux下通过进程名查看其占用端口: 1、先查看进程pid ps -ef grep 进程名 2、通过pid查看占用端口 netstat -nap grep 进程pid 例:通过nginx进程查看对应的...

linjin200
04/23
11
0
Linux下查看进程和线程的方法

篇一 : Linux下查看进程和线程的方法 在Linux中查看线程数的三种方法 1、top -H 手册中说:-H : Threads toggle 加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。 2、...

井然有序
2018/06/26
0
0
Linux 查看进程消耗内存情况总结

原文出处:潇湘隐者 在Linux中,有很多命令或工具查看内存使用情况,今天我们来看看如何查看进程消耗、占用的内存情况,Linux的内存管理和相关概念要比Windows复杂一些。在此之前,我们需要了...

潇湘隐者
2018/09/10
0
0
linux下怎么查询服务器的信息

参考:https://zhidao.baidu.com/question/621368750657770092.html 1,查看内存大小: cat /proc/meminfo |grep MemTotal 2,其他一些可以查看详细linux系统信息的命令和方法: uname -a # 查...

phpervip
2018/05/30
0
0
Linux下哪些进程在消耗我们的Cache?

我们很容易就用free命令看到系统的cache使用量,但是你知道是哪些程序的文件在消耗cache吗?虽然cache在严格意义上也是可以当做free的内存使用的,也可以通过 echo 3>/proc/sys/vm/drop_cac...

shanker
2018/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
今天
6
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
今天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
今天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
今天
17
0
浅谈java过滤器Filter

一、简介 Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断如是否有权限访问页面等。其工作原理是,只要你在web.xml...

青衣霓裳
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部