操作系统级
- 查看设备整体运行状况
loadAverage:1分钟、5分钟、15分钟的cpu负载情况,满载情况下为CPU核数*1
%us:用户空间程序的cpu使用率
%ss:系统进程的cpu使用率
%id:空闲cpu
H/shit+h:显示线程信息
- 内存分析
free -g:查看整体内存使用情况,注意观察如下几个指标
- 操作系统总共有多少内存
- 已经有多少内存被使用
buffer、cached里面有多少内存被使用
-/+ buffers/cache:-表示从应用程序角度看系统被用掉了多少内存,+表示从应用程序角度看系统还有多少内存可用
- 应用程序使用了多少内存/应用程序还有多少内存可以使用
- 系统监控工具:
sysstat
- 安装:
zypper in sysstat(包括iostat、mpstat、sar、sa)
- IO负载高判断依据:
svctm > 15s:平均每次IO操作的服务时间
%util接近100%:一秒中有多少时间用于IO操作
进程分析
- 进程排序
ps -aux | sort -k4,4nr | awk '{sum += $1} END {print "sum=", sum}'
sort参数解释:k后面根的数字表示第几列,n表示数字,r表示逆序排列
- pidstat
pidstat -d -p {pid}:对进程io进行采样
pidstat -u -p {pid}:对进程cpu占用率进行采样
pidstat -r -p {pid}:对进程内存占用率进行采样
jstack -l {pid}:查看某个进程的所有线程,-l表示检查锁
jstat、jmap等
性能测试
chaosblade:阿里混沌工具
memtester:内存测试工具
cpuburn:cpu测试工具
参考