有1个机器上load比较高,需要排查下是什么原因造成的,这边记录下排查过程。
1. top 先看下机器总体状况,其中cpu sy 占用大概到90%,us,wa等指标都很低,说明系统中存在大量的线程切换。
2. 然后top中看到一个java进程占用cpu 100%以上,基本上定位到该进程可能存在问题。
3. ps -Lf pid 查看该java进程的各线程资源占用比,发现有两个线程占用cpu比较明显,将这两个线程线程号转成16进制备用
4. jstack pid > stack 将该java进程的线程栈dump出来,grep 上一个步骤准备好的线程号,找到对应代码
5. 最后发现是java进程使用的disruptor的WaitStrategy选择不是很合理,修改后发布,一些归于平静
排查机器load高原因
猜你喜欢
转载自bucketli.iteye.com/blog/2267644
今日推荐
周排行