Linux性能优化相关知识记录

博客主要围绕CPU平均负载展开,介绍其指单位时间内系统处于可运行和不可中断状态的平均进程数,说明了合理值,当高于CPU数量70%属负载高。还提及分析工具、模拟工具如stress、sysbench等,最后介绍了找出导致负载升高进程的方法,此外还提到了中断查看命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CPU平均负载

平均负载是指在单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃数。

  • 可运行状态 正在使用CPU或者正在等待CPU的进程,可以使用PS查看到状态为R的进程
  • 不可中断状态 正处于内核态关键流程的进程,ps查看到D状态的进程
uptime 
19:37:58 up 22 days,  4:06,  2 users,  load average: 0.10, 0.13, 0.13
CPU平均负载合理值

查看CPU核数

grep 'model name' /proc/cpuinfo | wc -l

在平均负载高于CPU数量的 70% 的时候就属于负载高的情况了
注意 cpu使用率高可能确实是使用率高,也可能实际处理不高而是进程太多切换上下文频繁,也可能是进程内线程的上下文切换频繁。

分析工具及命令
apt install sysstat #安装 
watch -d uptime 
mpstat -P ALL 5
pidstat -u 5 1
模拟工具
  • stress Linux 系统压力测试工具 多进程
  • sysbench 多线程的基准测试工具,用来评估不同系统参数下的数据库负载情况。
vmstat 分析内存使用情况、cpu上下文切换和中断的次数。cs每秒上下文切换的次数,in每秒中断的次数,r运行或等待cpu的进程数,b中断睡眠状态的进程数。
pidstat 查看每个进程详细情况。
   - cswch(每秒自愿上下文切换次数),进程无法获取所需资源导致的上下文切换
   - nvcswch 每秒非自愿上下文切换次数,进程由于时间片已到等原因,被系统强制调度,进而发生的上下文切换
平均负载总结

先用uptime查看系统的平均负载;而在平均负载升高后,又用mpstatpidstat,分别观察每个CPU和每个进程CPU的使用情况,进而找出导致平均负载升高的进程。

持续补充中………………

中断

查看命令:

watch -d cat /proc/interrupts
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值