Linux系统性能分析

前言

性能调优的主要目的是使系统能够有效地利用各种资源,最大可能地发挥应用程序和系统之间的性能融合,使应用高效、稳定的运行。但是,衡量系统资源利用率的好坏的标准没有一个严格的定义,针对不同的系统和应用也没有一个统一的说法。

系统性能我们比较关注:内存,磁盘,CPU,系统load

一、系统负载load:

1.查看系统负载的方法:

top、uptime

2.系统负载分析

top - 06:43:59 up 180 days,  6:41,  2 users,  load average: 0.65, 0.57, 0.50

表示的是过去的1分钟、5分钟和15分钟内进程队列中的平均进程数量。

load average 输出的三个值的大小不能大于系统逻辑CPU的个数。

例如:系统有4个逻辑CPU(我们经常说的4核),如果load average的三个值长期大于4时,说明CPU很繁忙,负载很高,会影响到系统性能,但是偶尔大于4时,一般不会影响系统的性能。

如果load average 的输出值小于CPU的个数,表示CPU比较空闲。

二、系统CPU

1.查看系统CPU使用率

top

2.CPU使用率分析

%Cpu(s):  6.0 us,  0.5 sy,  0.0 ni, 92.4 id,  1.1 wa,  0.0 hi,  0.0 si,  0.0 st

us:表示CPU处在用户模式下的时间百分比

sy:表示CPU处在系统模式下的时间百分比

id:表示CPU空闲率

wa:表示cpu等待输入输出完成时间的百分比

si:表示虚拟内存的页导入,即SWAP DISK交换到RAM

st:表示虚拟内存的页导出,即从RAM交换到SWAP DISK

 

三、系统性能分析标准

 
评判标准
影响系统性能因素 糟糕
CPU user% + sys% < 70% user% + sys% = 85% user% + sys% >= 90%
内存

Swap In(si)=0

Swap Out(so)=0

Per CPU with 10 page/s More Swap In & Swap Out
磁盘 iowait% < 20% iowait% = 35% iowait% >= 50%

 

部分内容参考《高性能Linux服务器构建实战》

 

posted @   unixfbi.com  阅读(950)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示