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服务器构建实战》
UnixFBI 运维特工
www.unixfbi.com