Linux进程基础一:常见进程管理命令

一、top命令

1、功能说明

实时动态地查看系统的整体运行情况,两个命令都是查看运行状况,但是htop更加易用,top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.

2、命令运行结果

在这里插入图片描述
top视图分为两部分:操作系统资源概况信息和进程信息。首先分析资源概况中各个参数的含义,再来分析下进程信息中各个参数含义。

3、命令说明
1、操作系统时间、登录用户、负载情况-top

在这里插入图片描述
12:04:30  当前时间

up 2:02  系统运行时间,格式为时:分

1 users   当前登录用户数

load average: 0.00, 0.01, 0.05  系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值

2、运行的任务概览-Tasks

total: 系统当前的进程数
running: 当前正在运行的进程数
sleeping 当前睡眠中的进程数

3、CPU概览: %Cpu(s) 表示CPU使用百分比,按照时间占用计算,单位s

us: 用户空间占用CPU时间百分比,如果是多核,这个数值表示占用的平均百分比,可以按1进行多核统计和平均统计切换
sy: 内核空间占用CPU时间百分比,如果是多核,同上
ni 用户进程空间内改变过优先级的进程占用CPU时间百分比
id: 空闲时间占用CPU百分比
wa: 等待输入输出的CPU时间百分比
hi: CPU服务于硬件中断的CPU时间百分比
si: CPU服务于软件中断的CPU时间百分比
注:时间占用百分比=该种类型操作消耗CPU时间/top刷新间隔时间。top 3s刷新一次,用户空间进程在这3s内使用了CPU 1.5s,那么us等于50%=1.5s/3s

4、内存概览:单位KiB

total: 内存总量
free: 剩余的内存数量
used: 内存使用数量
buff/cache: 用于缓冲的内存数量

5、交换区概览:单位KiB

total: 交换区总量
free: 空闲的交换区数量
used: 使用的交换区数量

6、进程概况

进程概况的统计从多维度参数进行展示的,其中最重要的参数:
PID 进程ID,唯一标识
USER 进程所属用户
%CPU 自上一次top刷新该进程占用CPU的时间百分比
%MEM 进程消耗内存百分比
TIME+ 自进程开始以来,消耗CPU时间,单位1/100秒

4、top中交互

交互命令:在执行top命令的视图中,执行特定命令与结果视图进行交互

全局:

按键说明
Enter/space刷新视图
h帮助信息,查询各个交互式命令的含义
0是否展示在进程区域中的0值,比如%CPU是0的将全部隐藏
A在全屏模式和多窗口选择模式之间切换
d设置刷新的时间间隔
E切换内存和交换区单位
H开启/关闭线程模式,以线程的方式展示
kkill掉指定进程或者线程
Z改变颜色配置
q退出

概要区域

按键说明
1显示CPU平均状态/分开显示各个逻辑CPU状态
m切换显示内存统计的数据

进程区域

按键说明
x切换高亮行的排序位置
z切换颜色
b块状标记高亮行
c切换显示命令/程序名和参数
f显示field管理
u按照指定用户显示进程
i显示所有进程或者活跃的进程
n设置显示的进程数

二、iostat命令

iostat 命令主要通过观察物理磁盘的活动时间以及他们的平均传输速度,监控系统输入 / 输出设备负载。

根据 iostat 命令产生的报告,用户可确定一个系统配置是否平衡,并据此在物理磁盘与适配器之间更好地平衡输入 / 输出负载。iostat 工具的主要目的是通过监控磁盘的利用率,而探测到系统中的 I/O 瓶颈。不同操作系统命令格式输出格式略有不同,管理员可以通过查看用户手册来确定它的用法。

1、格式说明

iostat [参数] [时间] [次数]

2、参数说明

参数说明
-c显示CPU使用情况
-d显示磁盘使用情况
-k以K为单位显示
-m以M为单位显示
-N显示磁盘阵列(LVM) 信息
-n显示NFS使用情况
-p可以报告出每块磁盘的每个分区的使用情况
-t显示终端和CPU的信息
-x显示详细信息

3、性能指标

  • %iowait:如果该值较高,表示磁盘存在I/O瓶颈
  • await:一般地,系统I/O响应时间应该低于5ms,如果大于10ms就比较大了
  • avgqu-sz:如果I/O请求压力持续超出磁盘处理能力,该值将增加。如果单块磁盘的队列长度持续超过2,一般认为该磁盘存在I/O性能问题。需要注意的是,如果该磁盘为磁盘阵列虚拟的逻辑驱动器,需要再将该值除以组成这个逻辑驱动器的实际物理磁盘数目,以获得平均单块硬盘的I/O等待队列长度
  • %util:一般地,如果该参数是100%表示设备已经接近满负荷运行了

最后,除了关注指标外,我们更需要结合部署的业务进行分析。对于磁盘随机读写频繁的业务,比如图片存取、数据库、邮件服务器等,此类业务吗,tps才是关键点。对于顺序读写频繁的业务,需要传输大块数据的,如视频点播、文件同步,关注的是磁盘的吞吐量。

4、示例

[root@localhost ~]# iostat -x     #显示详细信息

在这里插入图片描述
输出内容详解:

%user:CPU处在用户模式下的时间百分比
%nice:CPU处在带NICE值的用户模式下的时间百分比
%system:CPU处在系统模式下的时间百分比
%iowait:CPU等待输入输出完成时间的百分比
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比
%idle:CPU空闲时间百分比

当然了,iostat命令的重点不是用来看CPU的,重点是用来监测磁盘性能的。

Device:设备名称
rrqm/s:每秒合并到设备的读取请求数
wrqm/s:每秒合并到设备的写请求数
r/s:每秒向磁盘发起的读操作数
w/s:每秒向磁盘发起的写操作数
rkB/s:每秒读K字节数
wkB/s:每秒写K字节数
avgrq-sz:平均每次设备I/O操作的数据大小
avgqu-sz:平均I/O队列长度
await:平均每次设备I/O操作的等待时间 (毫秒),一般地,系统I/O响应时间应该低于5ms,如果大于 10ms就比较大了
r_await:每个读操作平均所需的时间;不仅包括硬盘设备读操作的时间,还包括了在kernel队列中等待的时间
w_await:每个写操作平均所需的时间;不仅包括硬盘设备写操作的时间,还包括了在kernel队列中等待的时间
svctm:平均每次设备I/O操作的服务时间 (毫秒)(这个数据不可信!)
%util:一秒中有百分之多少的时间用于I/O操作,即被IO消耗的CPU百分比,一般地,如果该参数是100%表示设备已经接近满负荷运行了

[root@localhost ~]# iostat -d 2 3   #每隔2秒显示一次IO信息,显示3

在这里插入图片描述
输出内容详解:

tps:每秒I/O数(即IOPS。磁盘连续读和连续写之和)
kB_read/s:每秒从磁盘读取数据大小,单位KB/s
kB_wrtn/s:每秒写入磁盘的数据的大小,单位KB/s
kB_read:从磁盘读出的数据总数,单位KB
kB_wrtn:写入磁盘的的数据总数,单位KB

三、vmstat命令

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写, 是实时系统监控工具。该命令通过使用knlist子程序和/dev/kmen伪设备驱动器访问这些数据,输出信息直接打印在屏幕。vmstat反馈的与CPU相关的信息包括:
(1)多少任务在运行
(2)CPU使用的情况
(3)CPU收到多少中断
(4)发生多少上下文切换

1、参数说明

参数说明
-a, --active显示活跃和非活跃内存
-f, --forks显示从系统启动至今的fork数量
-m, --slabs显示slabinfo
-n, --one-header只在开始时显示一次字段名称
-s, --stats显示内存相关的统计信息及多种系统活动数量
-d, --disk显示磁盘相关统计信息
-D, --disk-sum显示磁盘的总计信息
-p, --partition < dev >显示指定磁盘分区统计信息
-S, --unit < char >使用指定单位显示。参数有 k 、K 、m 、M
-w, --wide更宽的显示信息
-t, --timestamp显示时间

2、示例

1、显示虚拟内存使用情况

在这里插入图片描述
说明:

proces 进程:

r: 运行队列中进程数量

b: 等待IO的进程数量

memory内存:

swpd: 使用虚拟内存大小

free: 可用内存大小

buff: 用作缓冲的内存大小

cache: 用作缓存的内存大小

swap:

si: 每秒从交换区写到内存的大小

so: 每秒写入交换区的内存大小

IO:

bi: 每秒读取的块数

bo: 每秒写入的块数

system 系统:

in:每秒中断数,包括时钟中断

cs:每秒上下文切换数

cpu百分比表示:

us: 用户进程执行时间(user time)

sy: 系统进程执行时间(system time)

id: 空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。

wa: 等待IO时间

st:Steal time 虚拟 CPU 等待实际 CPU 的时间的百分比

2、显示活跃和非活跃内存

在这里插入图片描述
memory(内存):

inact: 非活跃内存大小(当使用-a选项时显示)

active: 活跃的内存大小(当使用-a选项时显示)

3、查看磁盘的读写

在这里插入图片描述
说明:

这些信息主要来自于/proc/diskstats.

merged:表示一次来自于合并的写/读请求,一般系统会把多个连接/邻近的读/写请求合并到一起来操作。

找出CPU占用最多的前10个进程

[root@localhost ~]#ps -auxf | sort -nr -k 4 | head -10
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值