誉天教育,武汉誉天,誉天ICT认证培训.png/

Datapass

数通
当前位置:首页 > 誉天学堂 > 运维 > 懂技术,更精彩!Linux进程-动态监测进程

懂技术,更精彩!Linux进程-动态监测进程

  • 2023/09/06

前言

在之前,我们学习了使用ps查看进程,也分享了有关优先级的相关概念与案例,但是似乎在这个过程中还是存在一些问题。


我们平常在windows上,可以使用“任务管理器”中的“进程“选项卡去进行进程的查看,并且它在实时的进行更新当前的状态,但在Linux中的ps命令,好像只能查看到在执行命令这一时间的进程状态。


所以,我们今天,会为大家带来动态监测进程的一个工具和命令,让我们继续进程的学习吧!


1.png


Linux提供了一个程序—“System-Monitor”,可以帮助我们去动态地监测进程,它类似于windows的“任务管理器”。


640.png

640 (1).png


其基本的操作方法,与任务管理器很类似,比如点击上方的选项卡可以根据这一列内容进行排序,像是点击搜索按钮,可以根据关键字进行检索进程。选择指定进程后,可以右键打开选项卡,对进程进行更多的操作,比如:打开内存表、查询打开的文件、调整优先级等等。


640 (2).png


并且,它还可以去实时监控硬件的使用情况及文件系统的使用情况。


640 (3).png

640 (4).png


一个图形化软件,在这里就不再进行更多的扩展了,大家可以自行使用、探索他的功能,接下来,我们把重心放在命令上来吧。


2.png


图形化软件也就我们在自己电脑上的虚拟机上玩一玩,一旦进入企业,我们基本上是不可能看见图形化的Linux的,那么在丢弃掉了图形化之后,我们又应该用什么来进行进程的动态监控呢?


这也就是我们今天所分享的重点——‘top‘命令学习


top基础学习

top 命令的基本执行非常简单,直接执行即可。

[root@YUTIAN ~]#  top


640 (5).png


在执行时,也会有一个常用的选项,在下列出:

-o:指定以哪一列进行排序,默认以CPU使用情况进行排序
[root@YUTIAN ~]# top -o PID # 指定以PID排序

-d:指定刷新间隔,单位为秒,默认每3秒刷新一次
[root@YUTIAN ~]# top -d 1 # 指定刷新间隔为1S刷新一次

-p:指定PID,可以监控指定某一个进程或多个进程
[root@YUTIAN ~]# top -p 1,2 # 只监控 PID为1,2的两个进程


top运行结果

top的运行结果非常之多,所以我们在这里对其做一个比较详细的解释。


640 (6).png

top - 10:36:52 # 当前的系统时间
up 46 min,  # 系统开机时长
1 user,   # 当前有几个用户在登录
load average: 0.00, 0.00, 0.00
#系统的平均负载:每分钟,每五分钟,每十五分钟
系统是否卡顿,就需要关注这个值
以单颗CPU为例,此值的正常值为1 
小于1 系统资源很充足 
等于1 系统正在全力处理任务,但是并不会卡顿 
大于1 CPU已经在全力工作,但是队列依旧很长,任务量还有很多,开始卡顿

我们需要关注的是每十五分钟的这个值,如果这个值一直都比较大,那么这个系统就需要做一定的性能优化了

Tasks: 315 total, 1 running, 314 sleeping, 0 stopped, 0 zombie
#任务行:当前任务总量,正在运行的任务,睡眠状态的任务,停止状态的任务,僵尸进程的数量。

%Cpu(s): 0.0 us, 1.6 sy, 0.0 ni,  98.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
#CPU使用情况:程序占用,内核占用,调整过优先级的,空闲CPU,IO等待,硬中断,软中断,cpu等待时间

MiB Mem : 7742.0 total, 5901.2 free, 1058.3 used, 782.5 buff/cache
#内存使用情况:内存总量,空闲内存,已使用内存,缓存数量

MiB Swap: 4096.0 total, 4096.0 free,  0.0 used. 6419.6 avail Mem
#swap使用情况:swap总量,目前未被使用的交换空间大小,已使用swap,可用内存信息
PID USER  PR NI VIRT RES SHR S %CPU %MEM  TIME+ COMMAND 
1 root  20 0 186816 14632 9584 S 0.0 0.2 0:07.45 systemd 
PID 进程ID号
USER 进程UID
PR 进程实时优先级
NI 进程非实时优先级
virt 虚拟内存总量,表示进程请求的全部虚拟内存大小
res  未被置换出的物理内存大小,表示进程当前占用的物理内存大小,即进程占用的实际内存大小
shr  共享内存大小
s  进程状态
%CPU cpu占用情况
%MEM 内存占用情况
TIME+ 占用CPU时间,运行时间{只要进入了sleep状态,就会重新计数}
COMMAND 进程执行的命令


top操作

在详细了解如何运行top,以及运行结果的详细讲解之后,我们再来聊一聊,在top内去进行更高级的一些操作。


基本操作


640 (7).png


高级操作

# 键入 ‘1‘ 查看单个CPU的使用情况


640 (8).png


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


640 (9).png


# M 可按内存占用情况进行排序


640 (10).png


# P 根据CPU使用百分比大小进行排序


640 (11).png


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


640 (12).png


# F 键可以选择显示的内容

  • 表示需要显示的内容,可以使用d或者space进行选择

  • 移动光标到指定项,键入 s 选择后表示以该项进行排序

  • 键入 q 或 ESC 表示保存配置退回到top


640 (13).png


# k 键可以选择PID结束进程

默认为当页第一个进程,也可以输入PID后回车

回车后输入信号发送给进程默认为15,再次回车结束进程


640 (14).png


640 (15).png


3.png


top命令是一个用于监控系统运行状态的命令行工具。它显示了当前运行在系统中的进程列表以及系统资源的使用情况,如CPU利用率、内存使用、交换空间等。它极大程度的提升了我们对系统运行情况的了解,可以非常方便的帮助我们进行进程的实时监控,详细了解某个进程的使用情况。


返回列表
上一篇:
【誉天红帽学习指南】Ansible的主机清单和配置文件
下一篇:
懂技术,更精彩!实验对照nice与pr的进程优先级
免费试听
姓名
电话
城市
咨询课程