top命令查看进程列表
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命令查看进程列表的更多相关文章
- top命令查看进程下线程信息以及jstack的使用
转自:https://www.cnblogs.com/shengulong/p/8513652.html top -Hp pid可以查看某个进程的线程信息 -H 显示线程信息,-p指定pid jsta ...
- linux作为服务器,利用top命令查看服务进程的耗用情况
top命令查看进程服务如下: 其中shift+m可以按照内存的消耗进行排序,shift+p是按照cpu的消耗进程,排序,其中对cpu的消耗是一定时间,谁占用的时间越长消耗越大, 还有按空格键,会刷新一 ...
- linux系统top命令查看系统状态
Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分区.执行的线程等信息.通过top命令可以有效的发现系统的缺陷出在哪里.是内存不够.CPU处理能力不够.IO读写过高. 使用SSH ...
- linux top命令查看内存及多核CPU的使用讲述【转】
转载一下top使用后详细的参数,之前做的笔记找不见了,转载一下,作为以后的使用参考: 原文地址:http://blog.csdn.net/linghao00/article/details/80592 ...
- linux怎样使用top命令查看系统状态
有时候有很多问题只有在线上或者预发环境才能发现,而线上又不能Debug,所以线上问题定位就只能看日志,系统状态和Dump线程. Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分 ...
- 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 ...
- linux下用top命令查看cpu利用率超过100%
今天跑了一个非常耗时的批量插入操作..通过top命令查看cpu以及内存的使用的时候,cpu的时候查过了120%..以前没注意..通过在top的情况下按大键盘的1,查看的cpu的核数为4核. 通过网上查 ...
- 查看程序是否启动或者关闭--比如查看Tomcat是否开启!直接用ps命令查看进程就行了啊
1.查看程序是否启动或者关闭--比如查看Tomcat是否开启!直接用ps命令查看进程就行了啊 2.Tomcat服务器和虚拟机的关系,Tomcat启动运行过程要调用系统环境变量的java_home啊,J ...
- ps命令查看进程指定项目信息、用户名过长显示UID
有次一个在使用ps命令时,发现部分用户显示的是用户名,有些用户显示的是UID,那是因为用户名长度超过8位的:也就是说ps命令用户名列默认只能显示8位(含8位)的用户名,超过8位就显示UID,如何让长度 ...
随机推荐
- IDA Pro 权威指南学习笔记(九) - 数据搜索
Search -> Next Code 命令将光标移动到下一个包含指令的位置 Jump -> Jump to Function 命令可以打开所有函数,可以迅速选择一个函数并导航到该函数所在 ...
- canvas绘制圆弧
canvas绘制圆弧 方法 anticlockwise为true表示逆时针,默认为顺时针 角度都传的是弧度(弧度 = (Math.PI/180)*角度) arc(x, y, radius, start ...
- canvas绘制路径
canvas绘制路径 方法 beginPath() 创建一个新的路径 lineTo() 描绘路径 closePath() 沿着路径画直线,并且画点移动到路径开头 stroke() 绘制形状 fill( ...
- python 打造一个sql注入脚本 (一)
0x00前言: 昨天刚刚看完小迪老师的sql注入篇的第一章 所以有了新的笔记. 0x01笔记: sql注入原理: 网站数据传输中,接受变量传递的值未进行过滤,导致直接带入数据库查询执行的操作. sql ...
- php xss漏洞修复用手段和用到的一些函数
php xss漏洞修复用到的一些函数 $text = '<p>"Test paragraph".</p><!-- Comment --> < ...
- Handlebars学习第一天
1.什么是handlebars???是用来做什么的??? 首先我们要了解几种前端页面展示的几种模式: a.Struct+vo+el表达式的模式 这种模式的特点:代码看起来比较整齐,但代码解析完才发送到 ...
- Django中的DRF框架视图集使用
1. 两个基类 1)APIView Django REST_framework 中所有视图的基类是APIView 父类是View 支持定义的属性: authentication_classes 列 ...
- java算法 蓝桥杯 文化之旅
问题描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不同的国家可能有相同的文化.不同文化 ...
- Android中自定义ListView实现上拉加载更多和下拉刷新
ListView是Android中一个功能强大而且很常用的控件,在很多App中都有ListView的下拉刷新数据和上拉加载更多这个功能.这里我就简单记录一下实现过程. 实现这个功能的方法不止一个,Gi ...
- 【总结整理】自带天气app,为什么还要下载
很简单那就说明用户对天气这个功能的需求并没有表面那么简单呗,还有更深层次的需求~ 先声明我自己是没有这方面需求的,我就纯属YY一下 既然数据都一样的话,那是什么让用户觉得天气APP更专业呢? 1.历史 ...