性能调优笔记(二)
我们监控 一版会用 top 因为他是实时的
内存:
java项目---看jvm
非java项目---top 等
io:
io时间----io不含等待时间
------------------------------------------------------------------------------------------------
定位方法:
cup使用比较高:
先看是 sys% user%哪个高
user% 用户下的进程所消耗的
sys% 系统内核调用所消耗的
如果是 user%
先找进程 ,比方说 用top看 top P 按照cpu使用率排序
找到进程pid
根据进程 找到 线程: top -H -p pid或者 ps -aux |grep pid --目的:看这个线程正在执行的请求/方法(jstack)
找到这个方法后 交给开发 ,说这个方法消耗的 cpu很高,why?
sys% 高 内核 调用 :有一种可能是 IO导致的 ,查看 io 是否繁忙 :sar /nmon --disk busy (40%以上 磁盘是 分块的 某一块比较繁忙)
看 read 问题还是 write问题
如果不是io导致的 ,跟踪starce 一版跟踪不出来
------------------------------------------------------------------------------------------------------------------------------------
内存:
java的话 分析 jvm
非java的
.net项目:也有工具 监控
---------------------------------------------------------------------------------------------------------------------------------------
io :
sar -d
读写 是不是很大
这两个 差值大 说明 io比较繁忙: