Java进程占用内存过高,排查解决方法

最近收到邮件报警,说内存使作率达到84%。如下图:

解决方法:

A:可能是代码原因导致的问题:

1、使用命令:top查看当前进程的状态

2、从上图可以看到PID:916的java进程占用内存较大。定位线程问题(通过命令查看PID 为25894 进程的线程情况),命令:# ps p 916 -L -o pcpu,pmem,pid,tid,time,tname,cmd

由此可以看到这PID:916的进程产生了很多线程。接下来就可以通过jstack查看内存使用的堆栈。

3、查看内存使用的堆栈:在这里我们挑选了TID=934的线程进行分析,首先需要将934这个id转换为16进制。需输入如下命令,

printf "%x " 9731

4、将PID为916的堆栈信息打印到jstack.log中,**命令:**jstack -l 916 > jstack.log

5、

查看堆栈信息文件,命令:vim jstack.log

在进行搜索TID为2603的相关信息。如图:

6、分析

可以看到这个线程状态为:RUNNABLE。是正在运行状态的

另外其它的大部分线程状态为:WAITING。通过查看文件分析看到大量Java Thread State。

说明它在等待另一个条件的发生,来把自己唤醒,或者干脆它是调用了 sleep(N)。

此时线程状态大致为以下几种:

java.lang.Thread.State:WAITING(parking):一直等那个条件发生;

java.lang.Thread.State:TIMED_WAITING(parking或sleeping):定时的,那个条件不到来,也将定时唤醒自己。

7.代码优化:将文件发送给开发。优化下线程

B:可能是其他原因导致的问题:

1、使用ps命令:ps -ef | grep java | grep -v grep

查看当前java进程列表

root 834 1 0 May13 00:30:09 /usr/lib/jvm/java/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-9.0.13/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /data/apache-tomcat-9.0.13/bin/bootstrap.jar:/data/apache-tomcat-9.0.13/bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-9.0.13 -Dcatalina.home=/data/apache-tomcat-9.0.13 -Djava.io.tmpdir=/data/apache-tomcat-9.0.13/temp org.apache.catalina.startup.Bootstrap start
root 1294 1 3 May13 14:41:25 /usr/lib/jvm/java/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-9.0.13/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /data/apache-tomcat-9.0.13/bin/bootstrap.jar:/data/apache-tomcat-9.0.13/bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-9.0.13 -Dcatalina.home=/data/apache-tomcat-9.0.13 -Djava.io.tmpdir=/data/apache-tomcat-9.0.13/temp org.apache.catalina.startup.Bootstrap start
root 2085 1 0 Mar05 01:57:08 /usr/lib/jvm/java/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-9.0.13/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /data/apache-tomcat-9.0.13/bin/bootstrap.jar:/data/apache-tomcat-9.0.13/bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-9.0.13 -Dcatalina.home=/data/apache-tomcat-9.0.13 -Djava.io.tmpdir=/data/apache-tomcat-9.0.13/temp org.apache.catalina.startup.Bootstrap start
root 12808 1 0 Mar08 01:16:03 /usr/lib/jvm/java/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-9.0.13/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /data/apache-tomcat-9.0.13/bin/bootstrap.jar:/data/apache-tomcat-9.0.13/bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-9.0.13 -Dcatalina.home=/data/apache-tomcat-9.0.13 -Djava.io.tmpdir=/data/apache-tomcat-9.0.13/temp org.apache.catalina.startup.Bootstrap start
root 19392 1 0 May09 00:36:19 /usr/lib/jvm/java/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-9.0.13/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /data/apache-tomcat-9.0.13/bin/bootstrap.jar:/data/apache-tomcat-9.0.13/bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-9.0.13 -Dcatalina.home=/data/apache-tomcat-9.0.13 -Djava.io.tmpdir=/data/apache-tomcat-9.0.13/temp org.apache.catalina.startup.Bootstrap start
root 19838 1 1 May09 05:32:17 /usr/lib/jvm/java/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-9.0.13/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /data/apache-tomcat-9.0.13/bin/bootstrap.jar:/data/apache-tomcat-9.0.13/bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-9.0.13 -Dcatalina.home=/data/apache-tomcat-9.0.13 -Djava.io.tmpdir=/data/apache-tomcat-9.0.13/temp org.apache.catalina.startup.Bootstrap start
root 21543 1 0 May27 00:22:03 /usr/lib/jvm/java/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-9.0.13/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /data/apache-tomcat-9.0.13/bin/bootstrap.jar:/data/apache-tomcat-9.0.13/bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-9.0.13 -Dcatalina.home=/data/apache-tomcat-9.0.13 -Djava.io.tmpdir=/data/apache-tomcat-9.0.13/temp org.apache.catalina.startup.Bootstrap start
root 22750 1 5 May27 02:28:41 /usr/lib/jvm/java/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-9.0.13/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /data/apache-tomcat-9.0.13/bin/bootstrap.jar:/data/apache-tomcat-9.0.13/bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-9.0.13 -Dcatalina.home=/data/apache-tomcat-9.0.13 -Djava.io.tmpdir=/data/apache-tomcat-9.0.13/temp org.apache.catalina.startup.Bootstrap start

由上图所示,可以看到java进程是Tomcat的启动进程,开启多个Tomcat启动进程,并且是同一个端口。由此,可以判断,是因为关闭Tomcat服务时,java进程没有自动关闭,导致内存没有释放。

2、使用lsof命令:lsof | grep java |grep -v grep

查看当前进程的运行状态

java        834    root  cwd       DIR              252,1      4096     393217 /root
java        834    root  rtd       DIR              252,1      4096          2 /
java        834    root  txt       REG              252,1      5128     917742 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/bin/java
java        834    root  mem       REG              252,1    262896     269147 /usr/lib64/libjpeg.so.62.0.0
java        834    root  mem       REG              252,1     41400     792676 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libjavajpeg.so
java        834    root  mem       REG              252,1    644072     266782 /usr/lib64/libfreetype.so.6.3.22
java        834    root  mem       REG              252,1    349032     792667 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libfontmanager.so
java        834    root  mem       REG              252,1     29072     792665 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libawt_headless.so
java        834    root  mem       REG              252,1    715224     792664 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libawt.so
java        834    root  mem       REG              252,1  99174448     269459 /usr/lib/locale/locale-archive
java        834    root  mem       REG              252,1    111440     656920 /lib64/libresolv-2.12.so
java        834    root  mem       REG              252,1     27896     655389 /lib64/libnss_dns-2.12.so
....................

java       1294    root  cwd       DIR              252,1      4096     393217 /root
java       1294    root  rtd       DIR              252,1      4096          2 /
java       1294    root  txt       REG              252,1      5128     917742 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/bin/java
java       1294    root  mem       REG              252,1  99174448     269459 /usr/lib/locale/locale-archive
java       1294    root  mem       REG              252,1    262896     269147 /usr/lib64/libjpeg.so.62.0.0
java       1294    root  mem       REG              252,1     41400     792676 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libjavajpeg.so
java       1294    root  mem       REG              252,1    644072     266782 /usr/lib64/libfreetype.so.6.3.22
java       1294    root  mem       REG              252,1    349032     792667 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libfontmanager.so
java       1294    root  mem       REG              252,1     29072     792665 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libawt_headless.so
java       1294    root  mem       REG              252,1    715224     792664 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libawt.so
java       1294    root  mem       REG              252,1    111440     656920 /lib64/libresolv-2.12.so
java       1294    root  mem       REG              252,1     27896     655389 /lib64/libnss_dns-2.12.so
java       1294    root  mem       REG              252,1     11920     131997 /var/cache/fontconfig/beeeeb3dfe132a8a0633a017c99ce0c0-le64.cache-3
java       1294    root  mem       REG              252,1   3203275     792699 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/charsets.jar
java       1294    root  mem       REG              252,1   3509512     792747 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/resources.jar
java       1294    root  mem       REG              252,1    477712     655369 /lib64/libfreeblpriv3.so
java       1294    root  mem       REG              252,1    248720     655363 /lib64/libnspr4.so
java       1294    root  mem       REG              252,1     18720     655370 /lib64/libplc4.so
java       1294    root  mem       REG              252,1     14528     655377 /lib64/libplds4.so
java       1294    root  mem       REG              252,1    191928     266783 /usr/lib64/libnssutil3.so
java       1294    root  mem       REG              252,1   1337168     268947 /usr/lib64/libnss3.so
............

java       2085    root  cwd       DIR             252,17      4096    2621998 /data/apache-tomcat-9.0.13/bin
java       2085    root  rtd       DIR              252,1      4096          2 /
java       2085    root  txt       REG              252,1      5128     917742 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/bin/java
java       2085    root  mem       REG              252,1  99174448     269459 /usr/lib/locale/locale-archive
java       2085    root  mem       REG              252,1    111440     656920 /lib64/libresolv-2.12.so
java       2085    root  mem       REG              252,1     27896     655389 /lib64/libnss_dns-2.12.so
java       2085    root  mem       REG              252,1   3203275     792699 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/charsets.jar
java       2085    root  mem       REG              252,1   3509512     792747 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/resources.jar
java       2085    root  mem       REG              252,1    477712     655369 /lib64/libfreeblpriv3.so
java       2085    root  mem       REG              252,1    248720     655363 /lib64/libnspr4.so
java       2085    root  mem       REG              252,1     18720     655370 /lib64/libplc4.so
java       2085    root  mem       REG              252,1     14528     655377 /lib64/libplds4.so
java       2085    root  mem       REG              252,1    191928     266783 /usr/lib64/libnssutil3.so
java       2085    root  mem       REG              252,1   1337168     268947 /usr/lib64/libnss3.so
java       2085    root  mem       REG              252,1    185368     266802 /usr/lib64/libsmime3.so
java       2085    root  mem       REG              252,1    336472     269139 /usr/lib64/libssl3.so
java       2085    root  mem       REG              252,1     45720     792689 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libsunec.so
java       2085    root  mem       REG              252,1     36088     792682 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libmanagement.so
java       2085    root  mem       REG              252,1     98280     792684 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libnet.so
java       2085    root  mem       REG              252,1     73416     792685 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libnio.so
java       2085    root  mem       REG             252,17     34918    2622001 /data/apache-tomcat-9.0.13/bin/bootstrap.jar
java       2085    root  mem       REG              252,1  73280094     792748 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/rt.jar
java       2085    root  mem       REG              252,1    298029     792717 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/ext/sunjce_provider.jar
............

java      12808    root  cwd       DIR              252,1      4096     393217 /root
java      12808    root  rtd       DIR              252,1      4096          2 /
java      12808    root  txt       REG              252,1      5128     917742 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/bin/java
java      12808    root  mem       REG              252,1  99174448     269459 /usr/lib/locale/locale-archive
java      12808    root  mem       REG              252,1    111440     656920 /lib64/libresolv-2.12.so
java      12808    root  mem       REG              252,1     27896     655389 /lib64/libnss_dns-2.12.so
java      12808    root  mem       REG              252,1   3509512     792747 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/resources.jar
java      12808    root  mem       REG              252,1    477712     655369 /lib64/libfreeblpriv3.so
java      12808    root  mem       REG              252,1    248720     655363 /lib64/libnspr4.so
java      12808    root  mem       REG              252,1     18720     655370 /lib64/libplc4.so
java      12808    root  mem       REG              252,1   3203275     792699 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/charsets.jar
java      12808    root  mem       REG              252,1     14528     655377 /lib64/libplds4.so
java      12808    root  mem       REG              252,1    191928     266783 /usr/lib64/libnssutil3.so
java      12808    root  mem       REG              252,1   1337168     268947 /usr/lib64/libnss3.so
java      12808    root  mem       REG              252,1    185368     266802 /usr/lib64/libsmime3.so
java      12808    root  mem       REG              252,1    336472     269139 /usr/lib64/libssl3.so
java      12808    root  mem       REG              252,1     45720     792689 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libsunec.so
java      12808    root  mem       REG              252,1     36088     792682 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libmanagement.so
java      12808    root  mem       REG              252,1     98280     792684 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libnet.so
java      12808    root  mem       REG              252,1     73416     792685 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libnio.so
..........

java      19392    root  cwd       DIR              252,1      4096     393217 /root
java      19392    root  rtd       DIR              252,1      4096          2 /
java      19392    root  txt       REG              252,1      5128     917742 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/bin/java
java      19392    root  mem       REG              252,1    262896     269147 /usr/lib64/libjpeg.so.62.0.0
java      19392    root  mem       REG              252,1     41400     792676 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libjavajpeg.so
java      19392    root  mem       REG              252,1    644072     266782 /usr/lib64/libfreetype.so.6.3.22
java      19392    root  mem       REG              252,1    349032     792667 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libfontmanager.so
java      19392    root  mem       REG              252,1     29072     792665 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libawt_headless.so
java      19392    root  mem       REG              252,1    715224     792664 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libawt.so
java      19392    root  mem       REG              252,1  99174448     269459 /usr/lib/locale/locale-archive
java      19392    root  mem       REG              252,1    111440     656920 /lib64/libresolv-2.12.so
java      19392    root  mem       REG              252,1     27896     655389 /lib64/libnss_dns-2.12.so
java      19392    root  mem       REG              252,1     11920     131997 /var/cache/fontconfig/beeeeb3dfe132a8a0633a017c99ce0c0-le64.cache-3
java      19392    root  mem       REG              252,1   3203275     792699 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/charsets.jar
java      19392    root  mem       REG              252,1   3509512     792747 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/resources.jar
java      19392    root  mem       REG              252,1    477712     655369 /lib64/libfreeblpriv3.so
java      19392    root  mem       REG              252,1    248720     655363 /lib64/libnspr4.so
java      19392    root  mem       REG              252,1     18720     655370 /lib64/libplc4.so
java      19392    root  mem       REG              252,1     14528     655377 /lib64/libplds4.so
java      19392    root  mem       REG              252,1    191928     266783 /usr/lib64/libnssutil3.so
...........

java      19838    root  cwd       DIR              252,1      4096     393217 /root
java      19838    root  rtd       DIR              252,1      4096          2 /
java      19838    root  txt       REG              252,1      5128     917742 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/bin/java
java      19838    root  mem       REG              252,1  99174448     269459 /usr/lib/locale/locale-archive
java      19838    root  mem       REG              252,1    262896     269147 /usr/lib64/libjpeg.so.62.0.0
java      19838    root  mem       REG              252,1     41400     792676 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libjavajpeg.so
java      19838    root  mem       REG              252,1    644072     266782 /usr/lib64/libfreetype.so.6.3.22
java      19838    root  mem       REG              252,1    349032     792667 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libfontmanager.so
java      19838    root  mem       REG              252,1     29072     792665 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libawt_headless.so
java      19838    root  mem       REG              252,1    715224     792664 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libawt.so
java      19838    root  mem       REG              252,1     11920     131997 /var/cache/fontconfig/beeeeb3dfe132a8a0633a017c99ce0c0-le64.cache-3
java      19838    root  mem       REG              252,1    111440     656920 /lib64/libresolv-2.12.so
java      19838    root  mem       REG              252,1     27896     655389 /lib64/libnss_dns-2.12.so
java      19838    root  mem       REG              252,1   3203275     792699 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/charsets.jar
java      19838    root  mem       REG              252,1   3509512     792747 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/resources.jar
java      19838    root  mem       REG              252,1    477712     655369 /lib64/libfreeblpriv3.so
java      19838    root  mem       REG              252,1    248720     655363 /lib64/libnspr4.so
java      19838    root  mem       REG              252,1     18720     655370 /lib64/libplc4.so
java      19838    root  mem       REG              252,1     14528     655377 /lib64/libplds4.so
.........

java      21543    root  cwd       DIR              252,1      4096     393217 /root
java      21543    root  rtd       DIR              252,1      4096          2 /
java      21543    root  txt       REG              252,1      5128     917742 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/bin/java
java      21543    root  mem       REG              252,1    262896     269147 /usr/lib64/libjpeg.so.62.0.0
java      21543    root  mem       REG              252,1     41400     792676 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libjavajpeg.so
java      21543    root  mem       REG              252,1    644072     266782 /usr/lib64/libfreetype.so.6.3.22
java      21543    root  mem       REG              252,1    349032     792667 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libfontmanager.so
java      21543    root  mem       REG              252,1     29072     792665 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libawt_headless.so
java      21543    root  mem       REG              252,1    715224     792664 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libawt.so
java      21543    root  mem       REG              252,1    111440     656920 /lib64/libresolv-2.12.so
java      21543    root  mem       REG              252,1     27896     655389 /lib64/libnss_dns-2.12.so
java      21543    root  mem       REG              252,1   3509512     792747 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/resources.jar
java      21543    root  mem       REG              252,1   3203275     792699 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/charsets.jar
java      21543    root  mem       REG              252,1     11920     131997 /var/cache/fontconfig/beeeeb3dfe132a8a0633a017c99ce0c0-le64.cache-3
java      21543    root  mem       REG              252,1    477712     655369 /lib64/libfreeblpriv3.so
java      21543    root  mem       REG              252,1    248720     655363 /lib64/libnspr4.so
java      21543    root  mem       REG              252,1     18720     655370 /lib64/libplc4.so
java      21543    root  mem       REG              252,1     14528     655377 /lib64/libplds4.so
java      21543    root  mem       REG              252,1    191928     266783 /usr/lib64/libnssutil3.so
........

java      22750    root  cwd       DIR              252,1      4096     393217 /root
java      22750    root  rtd       DIR              252,1      4096          2 /
java      22750    root  txt       REG              252,1      5128     917742 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/bin/java
java      22750    root  mem       REG              252,1    262896     269147 /usr/lib64/libjpeg.so.62.0.0
java      22750    root  mem       REG              252,1     41400     792676 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libjavajpeg.so
java      22750    root  mem       REG              252,1    644072     266782 /usr/lib64/libfreetype.so.6.3.22
java      22750    root  mem       REG              252,1    349032     792667 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libfontmanager.so
java      22750    root  mem       REG              252,1     29072     792665 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libawt_headless.so
java      22750    root  mem       REG              252,1    715224     792664 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libawt.so
java      22750    root  mem       REG              252,1    111440     656920 /lib64/libresolv-2.12.so
java      22750    root  mem       REG              252,1     27896     655389 /lib64/libnss_dns-2.12.so
java      22750    root  mem       REG              252,1     11920     131997 /var/cache/fontconfig/beeeeb3dfe132a8a0633a017c99ce0c0-le64.cache-3
java      22750    root  mem       REG              252,1   3203275     792699 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/charsets.jar
java      22750    root  mem       REG              252,1   3509512     792747 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/resources.jar
java      22750    root  mem       REG              252,1    477712     655369 /lib64/libfreeblpriv3.so
java      22750    root  mem       REG              252,1    248720     655363 /lib64/libnspr4.so
........

java      29458    root  cwd       DIR              252,1      4096     393217 /root
java      29458    root  rtd       DIR              252,1      4096          2 /
java      29458    root  txt       REG              252,1      5128     917742 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/bin/java
java      29458    root  mem       REG              252,1  99174448     269459 /usr/lib/locale/locale-archive
java      29458    root  mem       REG              252,1    262896     269147 /usr/lib64/libjpeg.so.62.0.0
java      29458    root  mem       REG              252,1     41400     792676 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libjavajpeg.so
java      29458    root  mem       REG              252,1    644072     266782 /usr/lib64/libfreetype.so.6.3.22
java      29458    root  mem       REG              252,1    349032     792667 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libfontmanager.so
java      29458    root  mem       REG              252,1     29072     792665 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libawt_headless.so
java      29458    root  mem       REG              252,1    715224     792664 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.x86_64/jre/lib/amd64/libawt.so
java      29458    root  mem       REG              252,1     11920     131997 /var/cache/fontconfig/beeeeb3dfe132a8a0633a017c99ce0c0-le64.cache-3
............
java      29458    root  235u     IPv4           34489969       0t0        TCP localhost:57037->localhost:mysql (ESTABLISHED)
java      29458    root  236u     IPv4           34489971       0t0        TCP localhost:57036->localhost:mysql (ESTABLISHED)
java      29458    root  237u     IPv4           34489970       0t0        TCP localhost:57040->localhost:mysql (ESTABLISHED)
java      29458    root  238u     IPv4           34489982       0t0        TCP localhost:57042->localhost:mysql (ESTABLISHED)
java      29458    root  239u     IPv4           34489983       0t0        TCP localhost:57043->localhost:mysql (ESTABLISHED)
java      29458    root  240u     IPv4           34489984       0t0        TCP localhost:57046->localhost:mysql (ESTABLISHED)

通过上图所示:正常运行的Tomcat状态应为PID:29458的java进程

3、杀掉其他的java的进程

kill -9 PID

4、然后查看主机监控,果然内存使用率下降,网站运行正常

转载于:https://www.cnblogs.com/eeexu123/p/10913389.html

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems公司于1995年5月正式发布。它的设计目标是“一次编写,到处运行(Write Once, Run Anywhere)”,这意味着开发者可以使用Java编写应用程序,并在支持Java的任何平台上无需重新编译即可运行,这得益于其独特的跨平台性,通过Java虚拟机(JVM)实现不同操作系统上的兼容。 Java的特点包括: 面向对象:Java全面支持面向对象的特性,如封装、继承和多态,使得代码更易于维护和扩展。 安全:Java提供了丰富的安全特性,如禁止指针运算、自动内存管理和异常处理机制,以减少程序错误和恶意攻击的可能性。 可移植性:Java字节码可以在所有安装了JVM的设备上执行,从服务器到嵌入式系统,再到移动设备和桌面应用。 健壮性与性能:Java通过垃圾回收机制确保内存的有效管理,同时也能通过JIT编译器优化来提升运行时性能。 标准库丰富:Java拥有庞大的类库,如Java SE(Java Standard Edition)包含基础API,用于开发通用应用程序;Java EE(Java Enterprise Edition)提供企业级服务,如Web服务、EJB等;而Java ME(Java Micro Edition)则针对小型设备和嵌入式系统。 社区活跃:Java有着全球范围内庞大的开发者社区和开源项目,持续推动技术进步和创新。 多线程支持:Java内建对多线程编程的支持,使并发编程变得更加简单直接。 动态性:Java可以通过反射、注解等机制实现在运行时动态加载类和修改行为,增加了程序的灵活性。 综上所述,Java凭借其强大的特性和广泛的适用范围,在企业级应用、互联网服务、移动开发等领域均扮演着举足轻重的角色,是现代软件开发不可或缺的重要工具之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值