环境:centos 运行程序: springMVC的web服务 容器:jetty 一、背景 我们有一个应用,在上线之后,监控到内存可用率随着运行时间逐步下降,从上线之初的50%,运行一段时间后下降到20%左右。机器上有其他进程也占内存,我想确定下是否是内存泄漏导致的,查清楚后也能对线上的应用运行情况有更好掌握,如果有内存泄漏查出原因进行解决,避免隐患的发生。 二、 排查过程 整体的排查步骤如下: Java的堆内存和metaspace等内存排查。使用的工具是:Jconsole、JVisualVM、arthas、strace。 Java堆外内存分析排查。使用的命令:jcmd 进程的原生内存排查。使