设为首页 加入收藏

TOP

Linux系统调优介绍(二)
2023-07-23 13:39:31 】 浏览:121
Tags:Linux
了瓶颈。

%irq:显示CPU处理硬件中断的百分比。

??说明:如果%irq较高,表示CPU正在处理大量硬件中断,可能是某个硬件设备出现了问题。

%soft:显示CPU处理软件中断的百分比。

??说明:如果%soft较高,表示CPU正在处理大量软件中断,可能是某个进程出现了问题或者某个内核模块在处理大量请求。

%steal:显示被虚拟机偷走的CPU时间的百分比。

%guest:显示虚拟机使用CPU的百分比。

%idle:显示CPU空闲的百分比。

??说明:如果%idle较低,表示CPU正在忙碌,可能是系统负载过高或者某个进程占用了大量CPU资源。

3、iostat工具

iostat主要监视磁盘I/O使用情况,包括每个磁盘的读写速度、I/O等待时间、I/O请求队列长度等,主要使用iostat工具来了解系统磁盘I/O使用情况,识别磁盘I/O瓶颈和瓶颈进程。

image

Device:sda1
r/s:458.09        # 表示每秒从设备中读取的次数。
rkB/s:56330.40    # 每秒读取的数据量,单位为KB。
rrqm/s:0.63       # 每秒从磁盘发出的读取请求队列的长度,单位为请求。
%rrqm:0.14        # 表示从磁盘发出的读取请求占总读取请求的百分比。
r_await:4.17      # 表示读操作的平均等待时间,单位为毫秒。
rareq-sz:122.97   # 平均每个读取请求的数据量,单位为扇区
w/s:67.28         # 表示每秒向设备中写入的次数。
wkB/s:788.53      # 每秒钟写的数量,单位是kb  
wrqm/s:54.32      # 每秒从磁盘发出的写入请求队列的长度,单位为请求
%wrqm:44.67       # 表示从磁盘发出的写入请求占总写入请求的百分比。
w_await:6.75      # 表示写操作的平均等待时间,单位为毫秒。
wareq-sz:11.72    # 平均每个写入请求的数据量,单位为扇区
d/s:0.00
dkB/s:0.00
drqm/s :0.00
%drqm:0.00
d_await:0.00
dareq-sz :0.00
aqu-sz :2.37      # 请求队列的平均长度。
%util:96.96       # 表示磁盘花费在处理请求的时间百分比 经常超过80%或90%,则说明磁盘正在高负载下运行

总结:

r/sw/srkB/swkB/sr_awaitw_await 等指标的值都很大,并且 %util 的值也很高时,可以初步判断磁盘可能存在性能问题。

4、sar工具:

相比于vmstat和pmstat,star工具提供了更全面的系统性能监控和历史数据分析功能。可以将输出的信息重定向到一个文件里面,便于后续的分析。

(1)查看CPU的使用情况:

image

# %user:用户空间进程所占用CPU时间的百分比。
# %nice:被nice值提高的用户空间进程所占用CPU时间的百分比。
# %system:内核空间进程所占用CPU时间的百分比。
# %iowait:CPU等待I/O操作完成所占用CPU时间的百分比。
# %steal:被虚拟化程序(如VMware)偷走的CPU时间的百分比。
# %idle:CPU空闲时间的百分比。
  • 如果%user和%system占用率较高,可能表示系统负载较高,需要进一步检查进程、IO等情况。
  • 如果%iowait占用率较高,可能表示IO瓶颈
  • 如果%idle占用率较高,可能表示系统资源未充分利用

(2)监视内存使用情况:

image

# kbmemfree:可用内存大小(单位:KB)
# kbmemused:已用内存大小(单位:KB)
# %memused:已用内存占总内存的百分比
# kbbuffers:缓存的内存大小(单位:KB)
# kbcached:缓存的文件系统缓存大小(单位:KB)
# kbcommit:提交内存大小(单位:KB)
# %commit:提交内存占总内存的百分比
# kbactive:活跃内存大小(单位:KB)
# kbinact:非活跃内存大小(单位:KB)
# kbdirty:脏页的内存大小(单位:KB)
  • 如果可用内存(kbmemfree)较少,已用内存(kbmemused)和已用内存占总内存的百分比(%memused)较高,可能表示内存不足
  • 如果缓存的内存(kbbuffers)和缓存的文件系统缓存(kbcached)较高,可能表示系统的文件系统缓存良好
  • 如果提交内存(kbcommit)较高,可能表示应用程序提交的内存较多
  • 如果活跃内存(kbactive)和非活跃内存(kbinact)较高,可能表示系统当前运行的应用程序较多

(3)监视磁盘I/O使用情况:

image

# tps:每秒传输的I/O请求数(包括读写请求)	
# rtps:每秒读请求传输的I/O请求数
# wtps:每秒写请求传输的I/O请求数
# bread/s:每秒读取的数据块数量(单位:512字节)
# bwrtn/s:每秒写入的数据块数量(单位:512字节)
  • 如果tps较高,可能表示磁盘I/O瓶颈
  • 如果rtps或wtps较高,可以进一步确认是读操作或写操作的问题
  • 如果bread/s或bwrtn/s较高,可能表示磁盘I/O吞吐量不足

(4)查看网络的基本信息:DEV

主要查看的是接收和发送数据包的速率、接收和发送数据量的速率

image

# IFACE:网络接口名称。
# rxpck/s:每秒接收的数据包数量。
# txpck/s:每秒发送的数据包数量。
# rxkB/s:每秒接收的数据量(KB)。
# txkB/s:每秒发送的数据量(KB)。
# rxcmp/s:每秒接收的压缩数据包数量。
# txcmp/s:每秒发送的压缩数据包数量。
# rxmcst/s:每秒接收的多播数据包数量。
  • 如果rxkB/stxkB/s非常高,但%ifutil非常低,则可能存在网络拥塞的问题

  • 如果rxcmp/stxcmp/s非常高,可能存在数据压缩的问题。

  • 如果rxmcst/s非常高,可能存在多播网络流量的问题。

    数据压缩:为了减少数据的传输量,可以对数据进行压缩。压缩的过程是将原始数据使用某种压缩算法进行编码,使其占用更少的带宽。

(5)查看网络的错误信息EDEV

可以查看网络设备的错误和丢包数。

image

# rxerr/s:每秒接收的错误数。
# txerr/s:每秒发送的错误数
# coll/s:每秒发生的冲突数。
# rxdrop/s:每秒接收的丢包数
# txdrop/s:每秒发送的丢包数。
# txcarr/s:每秒发生的载波错误数。
# rxfram/s:每秒接收的帧错误数。
# rxfifo/s:每秒钟由于接收FIFO队列溢出而丢失的数据包数。
# txfifo/s:每秒钟由于发送FIFO队列溢出而丢失的数据包数。
  • rxerr/srxdrop/s的值很高,可能存在网络中的接收问题,例如硬件故障或网络拥塞等。
  • txerr/stxdrop/s的值很高,可能存在网络中的发送问题,例如硬件故障或网络拥塞等
  • coll/s的值很高,可能存在网络中的冲突问题,例如网络中存在多个设备尝试同时发送数据包/

使用场景总结:

  • 需要实时监控系统资源,可以使用 vmstat 和 iostat
  • 需要对系统历史性能进行分析,可以使用 sar
  • 分布式系统中进行性能分析和监控,则可以选择 pmstat,因为分布式系统的性能监控比较复杂,pmst
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 2/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇ssh 远程连接方式总结 下一篇centos8-x86_64安装kylinv10-arrc..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目