每天一个linux命令(34)--top命令
今天给领导发邮件,我这边虽然显示发出去了,但是他那边一直没收到,结果我以为我发了,他又一直在那边等结果。所以说,以后要另外发个信息或者QQ微信之类的说一声。
top命令是Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top 是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,知道用户终止该程序为止。比较准确的说,top 命令提供了实时的对系统处理器的状态监视。它将显示系统中CPU最 敏感的任务列表,该命令可以按CPU、 内存的使用情况和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。
1.命令格式:
top [参数 ]
2.命令功能:
显示当前系统正在执行的进程的相关信息,包括进程 ID、内存占用率、CPU占用率等
3.命令参数:
-b 批处理
-c 显示完整的命令
-I 忽略失效过程
-s 保密模式
-S 累积模式
-i<时间> 设置间隔时间
-u<用户名> 指定用户名
-p<进程号> 指定进程
-n<次数> 循环显示的次数
4.使用实例:
实例1:显示进程信息
命令: top
top 命令详解:前五行是当前系统情况整体的统计信息去。下面我们看每一行信息的具体意义。
第一行,任务队列信息,通 uptime 命令的执行结果,具体参数说明情况如下:
14:00:00 ---当前系统时间 up 10000 days, 12:00 ---系统已经运行了10000天12小时(在这期间系统没有重启过的哦!)
2 users -当前有2个用户登录系统
load average:1.15, 1.42, 1.44 --load average 后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
load average 数据是每隔5秒检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第二行,tasks --任务(进程),具体信息说明如下:
系统现在共有187个进程,其中运行中2个,186个休眠中,停止状态的有0个,僵尸状态有0个。
第三行,cpu 状态信息,具体属性说明如下:
5.9% --用户空间占用CPU 的百分比
3.4% sy --内核空间占用的CPU的百分比
0.0% ni --改变过优先级额进程占用CPU 的百分比
90.4% id --空闲CPU百分比
0.0% wa --IO等待占用CPU 的百分比
0.0% hi --硬中断(hardware IRQ)占用CPU的百分比
0.1% si --软中断(software interrupts) 占用CPU的百分比
备注:在这里CPU的使用比率和Windows 概念不同,需要理解Linux 系统用户空间和内核空间的相关知识。
第四行,内存状态,具体信息如下:
1234456k total --总物理内存
1234456k used --使用中的内存总量
1234456K free --空闲内存总量
1234456k buffers --缓存的内存量
第五行,swap 交换分区信息,具体信息说明如下:
123344k total --交换区总量
Ok used ---使用的交换区总量
123344k free --空闲交换区总量
123344k cached --缓冲的交换区总量
备注:
第四行中使用的内存总量指的是现在系统内核控制的内存数,空闲内存总量是内核还未纳入其管理范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free 中去,因此在Linux 上free 内存会越来越少,但不用为此担心。
如果处于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的 buffers + 第五行的cached,按这个公式此台服务器的可用内存1 +2+3。
对于内存监控,在 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.多U多核CPU监控
在top基本视图中,按键盘数字 1 ,可监控每个逻辑CPU 的状况。
2.高亮显示当前运行进程
敲击键盘 b ,
3.进程字段排序
默认进入 top 时,各进程是按照CPU的占用量来排序的,按个 x 可以高亮显示用量,不过我试了没啥效果
4.通过按一次 shift +>
实例2:显示完整命令
命令: top -c
实例3:以批处理模式显示程序信息
命令:top -b
实例4:以累积模式显示程序信息
命令:top -S
实例5:设置信息更新次数
命令:top -n 2
实例6:设置信息更新时间
命令:top -d 3 表示更新周期为3秒
实例7:显示指定的进程信息
命令:top -p 123
5.top 交互命令
在 top 命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了 s 选项,其中一些命令可能会被屏蔽。
h 显示帮助画面,给出一些简短的命令总结说明
k 终止一个进程
i 忽略闲置和僵死进程,这是一个开关式命令。
q 退出程序
r 重新安排一个进程的优先级别
S 切换到累计模式
s 改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms, 输入 0 值则系统将不断刷新,默认值是 5s.
f或者F 从当前显示中添加或者删除项目
0或者0 改变显示项目的顺序
l 切换显示平均负载和启动时间信息
m 切换显示内存信息
t 切换显示进程和CPU状态信息
c 切换显示命令名称和完整命令行
M 根据驻留内存大小进行排序
P 根据CPU使用百分比大小进行排序
T 根据时间/累计时间进行排序
W 将当前设置写入~/. toprc 文件中
每天一个linux命令(34)--top命令的更多相关文章
- 每天一个linux命令:top命令
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是一个动态显示过程,即可以通过用户按键来不断刷新 ...
- linux常用命令:top 命令
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是 一个动态显示过程,即可以通过用户按键来不断刷 ...
- Linux ps与top命令
Linux ps与top命令 这两个命令都是查看系统进程信息的命令,但是用处有点儿不同 1.ps命令--提供系统过去信息的一次性快照 也就是说ps命令能够查看刚刚系统的进程信息 命令:ps aux或 ...
- Linux查看系统当前登录用户的命令,top命令看到users有多个用户登录
Linux查看系统当前登录用户的命令,top命令看到users有多个用户登录 作为系统管理员,top命令看到users有多个用户登录,会需要查看下是否被黑客进入了. 实战例子:top命令:top - ...
- linux系统下top命令参数详解
简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...
- linux命令总结top命令
简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...
- 为什么 Linux 的 htop 命令完胜 top 命令
在 Linux 系统中,top 命令用来显示系统中正在运行的进程的实时状态,它显示了一些非常有用的信息,比如 CPU 利用情况.内存消耗情况,以及每个进程情况等.但是,你知道吗?还有另外一个命令行工具 ...
- linux抓取top命令中数据的方法
top在linux中是一个非常直观的命令,可以清晰地看到各进程对资源的使用情况. 但是如果你想从top命令展示中提取某些数据出来,如果想当然地使用这句命令: top|grep xxx 就会被卡住, ...
- Linux命令:top命令
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是一个动态显示过程,即可以通过用户按键来不断刷新 ...
随机推荐
- Cannot create PoolableConnectionFactory (ORA-28040: No matching authentication protocol
Oracle 12c 如果java报这个错误,用oracle自带的ojdbc6.jar,可以解决这个问题.
- java中常用的空判断
Java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s));方法二: 比较字 ...
- 神经网络NN
神经网络基本模型: 1.前向神经网络:无圈的有向图N=(V,E,W),其中,V为神经元集合,E为连结权值集合,W为每一连结赋予一实值的权重. 神经元集V可以被分成无接受域的输入结点集V1,无投射域的输 ...
- 字符集 ISO-8859-1(3)
详细见 http://www.w3school.com.cn/tags/html_ref_urlencode.html
- ASP.NET MVC TempData使用心得
说明: 在ASP.NET MVC中資料傳遞主要有ViewData與TempData ViewData主要是Controller傳遞Data給View,存留期只有一個Action,要跨Action要使用 ...
- JavaScript事件处理程序的3种方式
最近这段时间因为每天要修改网站,为网站做特效,所以看了很多的js接触事件,自己只会使用一小部分,有时用的时候也比较混乱,现在系统的整理了一下,首先跟大家在马海祥博客上跟大家分享的是JavaScript ...
- 支持wmv、mpg、mov、avi格式的网页视频播放代码
这2天一直在整金网奖的相关项目,比较头大的就是网页视频播放了,需要考虑各种不同格式的视频,然后找相应的视频播放器. 这次使用了2种方法对这些视频进行处理: 1.使用ckplayer网页视频播放器 ck ...
- 【翻译】在Visual Studio中使用Asp.Net Core MVC创建第一个Web Api应用(二)
运行应用 In Visual Studio, press CTRL+F5 to launch the app. Visual Studio launches a browser and navigat ...
- Activity的生命周期与加载模式——Activity的4种加载模式
配置Activity时可指定android:launchMode属性,该属性用于配置该Activity的加载模式,该属性支持如下4个属性值. standard:标准模式,这是默认的加载模式. sing ...
- win7配置自己的IIS服务器亲自做的图文很详细
跟人网站爱好初学者必看的win7系统配置自己的IIS,可以在你自己的电脑上配置网站服务器发不到网上,下面就跟着我的步骤一起做吧100%成功. 步骤/方法 点击开始-------控制面板这个就是 ...