某日,一个前公司同事找到我,和我说他们的 java 应用程序 CPU 负载过高,经过排查,发现是 jvm 的问题,现贴出解决办法:
首先先 top 找到进程占用 CPU 很高的那个 pid

通过 sp - mp 发现很多线程

将其中一个占用 CPU 很高的线程 tid 转换为 16 进制

最后用 jstack 进行查看并过滤

其中发现了大量的 Gang worker#,判定是 jvm 的问题,对 JVM 做了如下优化

然后再启动 应用服务器,查看 top,已经解决问题

某日,一个前公司同事找到我,和我说他们的 java 应用程序 CPU 负载过高,经过排查,发现是 jvm 的问题,现贴出解决办法:






Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。
JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于