阅读背景:

查找解决Java进程何处导致服务器CPU负载很高之方法

来源:互联网 

最近在处理分布式环境(单台机器10个节点)中由于Java进程CPU负载过高导致其中某个节点挂点,而且不一定是哪一台的机器,刚开始还以为是某个很耗内存CPU的查询导致,但是看日志也没有看到有什么耗内存的查询,于是想了一下,最后通过jstack命令去查看具体是那个过程可能会导致CPU负载很高,后来通过此命令果然看到有一个索引不断的写入,而且栈中一直有此索引的信息,于是就找到些此索引的同事,果然,他通过mr开启很多个任务写入,而且一条数据的量很大,这样很容易就会把服务弄挂掉了,后来就把任务降低或者取消去往另外一个集群中写入,CPU负载马上就下来了,jstack具体查找过程如下:最近在处理分布式环境(单台机器10个节点)中由于Java进程CPU负载过高导致其中某个节点挂点




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: