目录一.top命令介绍二.语法格式及常用选项三.参考案例3.1显示进程信息3.2显示完整的进程命令3.3以批处理的形式展示3.4设置信息更新频次3.5显示指定进程号的信息3.6top...
目录
一. top命令介绍二. 语法格式及常用选项
三. 参考案例
3.1 显示进程信息
3.2 显示完整的进程命令
3.3 以批处理的形式展示
3.4 设置信息更新频次
3.5 显示指定进程号的信息
3.6 top面板中常用参数
3.7 其他用法
四. top的相关说明
4.1 交互命令介绍
top命令交互
4.2 top面板每行信息的含义
4.2.1 第一行信息详解
4.2.2 第二三行信息详解
4.2.3 第四五行信息详解
4.2.4 第7行进程信息
五. 更强大的工具htop推荐
总结
前言
想要学好linux,命令是基本功,企业中常用的命令大约200多个,不管是写shell脚本还是管理操作系统,最常用的命令必须要牢牢掌握,像我们以前学乘法口诀一样,烂熟于心,唯有如此,才能打牢基础。
一. top命令介绍
top命令的功能是用于实时显示系统运行状态,包含处理器、内存、服务、进程等重要资源信息。
我们常常会把top命令比作是“加强版的Windows任务管理器”,因为除了能看到常规的服务进程信息以外,还能够对处理器和内存的负载情况一目了然。
使用top命令可以实时感知系统全局的运行状态,非常适合作为接手服务器后执行的第一条命令。
在top命令中按f按可以查看显示的列信息,按对应字母来开启/关闭列,大写字母表示开启,小写字母表示关闭。带*号的是默认列
二. 语法格式及常用选项
依据惯例,拿到一个命令首先查看 帮助, top 没有hlep帮助命令,可以使用man top查看
root@itlaoxin41 ~]# man top [root@itlaoxin41 ~]# man top >> man_top.txt [root@itlaoxin41 ~]# vim man_top.txt
man的帮助手册一千多行,我们可以放到一个文档中只挑选对自己有用的,后续再去看参数。
命令格式:
top [参数】
常用选项:
-b:以批处理模式操作; -c:显示完整的进程信息; -d:屏幕刷新间隔时间; -I:忽略失效过程; -s:保密模式; -S:累积模式; -i<时间>:设置间隔时间; -u<用户名>:指定用户名; -p<进程号>:指定进程; -n<次数>:循环显示的次数。
三. 参考案例
3.1 显示进程信息
此时,无需加任何参数 直接执行top即可
#top
执行结果如下图:

3.2 显示完整的进程命令
-c 参数 ,与不使用-c参数做对比,查看后面的command的变化
#top -c

如果我们要查看前10行,可以使用
top -c |head
但这么查看不会一直动态显示,会自动退出。
3.3 以批处理的形式展示
这里会用到-b的参数
[root@mufeng ~]# top -b
此时需要执行ctrl +c 才能退出。
3.4 设置信息更新频次
-n 参数,用来设置信息的更新次数,这里改成5,意味着刷新5次后自己退出。
# top -n 5
-d 参数是用来设置秒数,默认为三秒,可以改为5
top -d 5
两个参数也可以一起用:
[root@mufeng ~]# top -d 1 -n 3
表示每一秒钟刷新一次,一共刷新3次后退出。
3.5 显示指定进程号的信息
我们先查看到进程号,比如 17447
这时候用 -p 参数后面直接跟17447即可:
root@mufeng ~]# top -p 17447

3.6 top面板中常用参数
键盘数字1 : 可以查看每个逻辑cpu的状况,再按一次1 就返回top的基本界面
字母y 可以关闭或者打开运行态进程的加亮效果
下图是敲击b之后的效果,要注意如果没有正在运行的进程,可能没啥效果:

3.7 其他用法
显示某个进程的信息
# top -u httpd
显示线程信息而不是进程的信息
# top -H
找出系统中使用CPU最多的进程:
运行top , 找出使用CPU最多的进程 ,按大写的P,可以按CPU使用率来排序显示

四. top的相关说明
4.1 交互命令介绍
在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。
top命令交互
1.基础操作
1:显示CPU详细信息,每核显示一行d / s :修改刷新频率,单位为秒
h:可显示帮http://www.cppcns.com助界面
n:指定进程列表显示行数,默认为满屏行数
q:退出top
2.面板隐藏显示
l:隐藏/显示第1行负载信息;t:隐藏/显示第2~3行CPU信息;
m:隐藏/显示第4~5行内存信息;
3.进程列表排序
M:根据驻留内存大小进行排序;P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序;
这里使用频率最高的是P、T、M
因为通常使用top,我们就想看看是哪些进程最耗cpu资源、占用的内存最多;
注:通过”shift + >”或”shift + <”可以向右或左改变排序列;
如果只需要查看内存:可用free命令。
只查看uptime信息(第一行),可用uptime命令;
详细交互指令:h / ? 可显示帮助界面
Help for Interactive Commands - procps-ng version 3.3.10
Window 1:Def: Cumulative mode Off. System: Delay 3.0 secs; Secure mode Off.
Z,B,E,e Global: 'Z' colors; 'B' bold; 'E'/'e' summary/task memory scale
l,t,m Toggle Summary: 'l' load avg; 't' task/cpu stats; 'm' memory info
0,1,2,3,I Toggle: '0' zeros; '1/2/3' cpus or numa node views; 'I' Irix mode
f,F,X Fields: 'f'/'F' add/remove/order/sort; 'X' increase fixed-width
L,&,<,> . Locate: 'L'/'&' find/again; Move sort column: '<'/'>' left/right
R,H,V,J . Toggle: 'R' Sort; 'H' Threads; 'V' Forest view; 'J' Num justify
c,i,S,j . Toggle: 'c' Cmd name/line; 'i' Idle; 'S' Time; 'j' Str justify
x,y . Toggle highlights: 'x' sort field; 'y' running tasks
z,b . Toggle: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')
u,U,o,O . Filter by: 'u'/'U' effective/any user; 'o'/'O' other criteria
n,#,^O . Set: 'n'/'#' max tasks displayed; Show: Ctrl+'O' other filter(s)
C,... . Toggle scroll coordinates msg for: up,down,left,right,home,end
k,r Manipulate tasks: 'k' kill; 'r' renice
d or s Set update interval
W,Y Write configuration file 'W'; Inspect other output 'Y'
q Quit
( commands shown with '.' require a visible task display window )
Press 'h' or '?' for help with Windows,
Type 'q' or <Esc> to continue
4.2 top面板每行信息的含义

4.2.1 第一行信息详解
第一行内容和uptime弹出的信息一样
4.2.2 第二三行信息详解
此处当有多个CPU时,这些内容可能会超过两行
这里提到了几个概念: 硬中断,软中断
硬中断是由硬件产生的,比如,像磁盘,网卡,键盘,时钟等。每个设备或设备集都有它自己的IRQ(中断请求)。
软中断: 通常,软中断是一些对I/O的请求。
软中断: 通常,软中断是一些对I/O的请求。
这些请求会调用内核中可以调度I/O发生的程序。对于某些设备,I/O请求需要被立即处理,而磁盘I/O请求通常可以排队并且可以稍后处理。
根据I/O模型的不同,进程或许会被挂起直到I/O完成,此时内核调度器就会选择另一个进程去运行。I/O可以在进程之间产生并且调度过程通常和磁盘I/O的方式是相同。
4.2.3 第四五行信息详解
第四五行是内存信息

这里还要解释一下缓冲(buffer)和缓存(cache)的区别:
缓存(cache)是在读取硬盘中的数据时,把最常用的数据保存在内存的缓存区中,再次读取该数据时,就不去硬盘中读取了,而在缓存中读取。缓冲(buffer)是在向硬盘写入数据时,先把数据放入缓冲区,然后再一起向硬盘写入,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。
简单来说,缓存(cache)是用来加速数据从硬盘中"读取"的,而缓冲(buffer)是用来加速数据"写入"硬盘的。
4.2.4 第7行进程信息

五. 更强大的工具htop推荐
htop 是一个 Linux 下的交互式的进程浏览器,可以用来替换Linux下的top命令。不过这个工具再2018年之后就没有在更新过了,目前最新的包是:

与Linux传统的top相比,htop更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。
与top编程相比,htop有以下优点:
可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。在启动上,比top 更快。
杀进程时不需要输入进程号。
htop 支持鼠标操作。
总结
top是超级难的命令了,主要原因在于参数太多,需要把每个参数吃透,又得大半天的时间,你学会了吗?
到此这篇关于linux top命令 实战的文章就介绍到这了,更多相关linux top命令内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!










