前言
性能调优的主要目的是使系统能够有效地利用各种资源,最大可能地发挥应用程序和系统之间的性能融合,使应用高效、稳定的运行。但是,衡量系统资源利用率的好坏的标准没有一个严格的定义,针对不同的系统和应用也没有一个统一的说法。
系统性能我们比较关注:内存,磁盘,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
三、系统性能分析标准
四 、如何判断Linux load的值是否过高
1、先使用top看下CPU占用高的进程,找出进程的进程ID(pid); 查看方法:top
2、根据进程ID(pid)查看是进程的那些线程占用CPU高。 查看方法:top -Hp pid
3、使用pstack,查看CPU占用高的线程在干什么。 查看方法:pstack pid
4、根据pstack分析,应该可以看出问题所在。