1:先用free 或是top,查看系统整体的内存使用情况
2:再用vmstat ,和pidstat 查看一段时间的趋势,从而判断
3:最后进行详细的分析,比如java的就会出现oom.
自愿上下文切换:无法获取资源而导致的上下文切换
非自愿上下文切换:被系统强制调度导致的上下文切换
top:从top命令的输出中可以得到各种cpu的使用率,,平均负载等信息。
vmstat:从vmstat的输出中可以得到 上下文切换次数,中断次数,运行状态 和不可中断状态的进程数。
vmstat 1 意思是每间隔1秒钟收集一次数据。
procs 有两列。r ,b列。
memory 有四列 swap, free, buff ,cache 四列
swap 有两列。si ,so
io有 两列 bi,bo
system 有两列 in,cs
in代表系统的中断,cs代表系统的上下文切换
cpu有 5列,us,sy,id,wa,st。
pidstat:从pidstat的输出中可以得到进程的用户cpu使用率,系统cpu使用率以及自愿上下文和非自愿上下文切换。
pidstat 使用前需要先安装。
yum install sysstat -y.