linux内存耗尽分析
其他
2019-11-17 17:34:08
阅读次数: 0
操作系统级
- 查看设备整体运行状况
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测试工具
参考
- linux下哪些进程在消耗我们的cache
- grep中使用"\d"匹配数字不成功的原因
- linux命令 --lsof命令 一切皆文件
- 参数代换命令xargs使用小结
- xargs命令教程 阮一峰
转载自www.cnblogs.com/harry1989/p/11877074.html