2024年运维最全Linux系统性能分析(1)

本文介绍了Linux系统性能监控的关键指标,如uptime用于查看系统运行状态,mpstat和iostat用于监控CPU和磁盘I/O,free和smem用于内存分析,同时关注了中断数、CPU利用率、内存占用和磁盘I/O负载。这些工具对排查性能问题和优化系统至关重要。
摘要由CSDN通过智能技术生成
  • system:显示采集间隔内发生的中断数

in:表示在某一时间间隔中观测到的每秒设备中断数。

cs:表示每秒产生的上下文切换次数。

  • cpu:显示CPU的使用状态

us:显示了用户进程消耗的CPU时间百分比。

分析:(us的值比较高时,说明用户进程消耗的CPU时间多,如果长期大于50%,则需要考虑进行优化。)

sy:显示了内核进程消耗的CPU时间百分比。

分析:(sy的值比较高时,说明内核消耗的CPU资源很多。如果us+sy大于80%。说明可能存在CPU资源不足的情况。)

id:显示了CPU处于空闲状态的时间百分比。

wa:显示了i/o等待所占用的CPU时间百分比,wa值越高,说明i/o等待越严重。

分析:(wa的参考值为20%,如果wa值超过20%,说明i/o等待严重。原因可能是磁盘大量随机读写造成,也可能是磁盘或者磁盘控制器的宽带瓶颈造成的。)

命令:uptime


uptime是监控系统性能最常用的一个命令。主要用来统计系统当前的运行状况。

以下这条命令输出的信息依次为:系统时间、系统从开机开始运行的时间、系统目前有多少登录用户、系统在一分钟内、五分钟内、15分钟内平均负载。

[root@centos7 ~]# uptime

19:51:32 up 2:20, 2 users, load average: 0.00, 0.01, 0.04

需要注意的地方是load average这个输出值,这三个值的大小,一般不能大于系统CPU的个数。

例如,本书初中系统有两个CPU,如果三个数值长期大于2,说明CPU很繁忙,负载很高。相反,如果这个数值远远小于2,说明CPU很空闲。

命令:mpstat


这个命令是一个CPU实时状态监控工具。是通过/proc/stat里面的状态信息来进行统计的,他可以查看多核CPU中每个计算核的统计数据。

语法:mpstat [-P {cpu|ALL}] [internal] [count]

参数:

[-P {cpu|ALL}]:表示监控哪个CPU,第一颗CPU数值为0

internal:采集的间隔时间

count:采集的次数

[root@centos7 ~]# mpstat 3 2

Linux 3.10.0-1160.el7.x86_64 (centos7) 2022年01月04日 x86_64 (2 CPU)

20时06分23秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle

20时06分26秒 all 0.17 0.00 0.17 0.00 0.00 0.00 0.00 0.00 0.00 99.67

20时06分29秒 all 0.00 0.00 0.17 0.00 0.00 0.00 0.00 0.00 0.00 99.83

平均时间: all 0.08 0.00 0.17 0.00 0.00 0.00 0.00 0.00 0.00 99.75

以下为输出中每列的含义:

  • CPU:处理器的ID

  • %usr:显示用户进程消耗的CPU时间百分比

  • %nice:显示了运行正常进程所消耗的CPU时间百分比

  • %sys:显示了系统进程消耗的CPU时间百分比

  • %iowait:显示了i/o等待所占用的CPU时间百分比

  • %irq:显示了硬中断时间占用的CPU时间百分比

  • %soft:显示了软中断时间占用的CPU时间百分比

  • %steal:显示了在内存相对紧张的环境下page in强制对不同的页面进行的steal操作

  • %guest:显示了运行虚拟处理器时CPU花费时间的百分比

  • %gnice:显示了运行带有nice优先级的虚拟CPU所花费的时间百分比

  • %idle:显示了CPU处在空闲状态的时间百分比

分析 :当%idle值较低时,应该是CPU不足的问题。当%iowait数值较高时,应该是当前负载下i/o子系统出现了问题。

内存性能分析

===============================================================

内存性能分析的常用工具有free、smem等。

命令:free


free是监控Linux内存使用状况最常用的指令。

[root@centos7 ~]# free

total used free shared buff/cache available

Mem: 4026156 243776 3411332 11868 371048 3550276

Swap: 2097148 0 2097148

此命令输出中显示了系统的各种内存状态,包括了物理内存和swap。

以上信息每列的内容分别为总内存(total)、使用内存(used)、空闲内存(free)、共享内存(shared)、系统缓存(buff/cache)、可用内存(available)

分析:一般来说,可用内存大于70%时,说明资源非常充足;小于20%时,说明资源紧缺,可扩容内存。

命令:smem


这个命令可以显示内存使用情况报告,他可以提供多种报告。

这个命令需要单独安装:

[root@centos7 ~]# yum -y install epel-release

[root@centos7 ~]# yum -y install smem python-matplotlib python-tk

语法:smem [参数]

-k:用来显示内存单位

-p:以百分比的形式显示内存占用

-u:显示每个用户占用的内存信息。

-s:表示排序。

[root@centos7 ~]# smem -k -s uss

PID User Command Swap USS PSS RSS

1024 root /sbin/agetty --noclear tty1 0 172.0K 204.0K 848.0K

965 root /usr/sbin/irqbalance --fore 0 376.0K 432.0K 1.3M

860 root /sbin/auditd 0 544.0K 570.0K 1.1M

522 root /usr/sbin/lvmetad -f 0 596.0K 640.0K 1.5M

上面相关的内容最后几列的内容分别是:

  • RSS:是最常用的内存指标,表示进程占用的物理内存大小。这个值中包含了共享内存

  • PSS:所有使用某共享库的程序均分该共享库占用的内存嗯。简单来说就是将共享内存的大小进行平均后,分摊到各个进程。

  • USS:建成独自占有的内存,只计算进程独自占用的内存大小,不包含任何共享的部分。嗯呢。东莞r PS

通过这个命令,可以清晰的看到每个进程占用了多少内存资源,以及占用是否合理。

磁盘性能分析

===============================================================

磁盘性能分析的常用工具有iotop、iostat等

命令:iotop


这是一个用来监视磁盘i/o使用状况的top类工具,可监测到某一个程序使用的磁盘i/o的实时信息。

选项:

-p:指定进程ID,显示该进程的i/o情况

-u:指定用户名,显示该用户所有进程的i/o情况

-P:只显示进程

-k:表示以千字节显示

-t:表示在每一行前添加一个当前时间

iotop

Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s

Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s

TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND

1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --switched-root --system --deserialize 22

2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]

1027 be/4 polkitd 0.00 B/s 0.00 B/s 0.00 % 0.00 % polkitd --no-debug

4 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H]

517 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % lvmetad -f

命令:iostat


这个命令是对系统的磁盘i/o操作进行监视。主要显示磁盘读写操作的统计信息。

yum -y install sysstat

安装完成后,系统将会多出三个命令:iostat、sar、mpstat

[root@centos7 ~]# iostat -d

Linux 3.10.0-1160.el7.x86_64 (centos7) 2022年01月05日 x86_64 (2 CPU)

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
存中…(img-bg515tOt-1714524928176)]

给大家整理的电子书资料:

[外链图片转存中…(img-9iZ4AJrm-1714524928176)]

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值