最近收到邮件报警,说内存使作率达到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\n" 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               May13 ?        :: /usr/lib/jvm/java/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-9.0./conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize= -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK= -Dignore.endorsed.dirs= -classpath /data/apache-tomcat-9.0./bin/bootstrap.jar:/data/apache-tomcat-9.0./bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-9.0. -Dcatalina.home=/data/apache-tomcat-9.0. -Djava.io.tmpdir=/data/apache-tomcat-9.0./temp org.apache.catalina.startup.Bootstrap start
root May13 ? :: /usr/lib/jvm/java/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-9.0./conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize= -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK= -Dignore.endorsed.dirs= -classpath /data/apache-tomcat-9.0./bin/bootstrap.jar:/data/apache-tomcat-9.0./bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-9.0. -Dcatalina.home=/data/apache-tomcat-9.0. -Djava.io.tmpdir=/data/apache-tomcat-9.0./temp org.apache.catalina.startup.Bootstrap start
root Mar05 ? :: /usr/lib/jvm/java/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-9.0./conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize= -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK= -Dignore.endorsed.dirs= -classpath /data/apache-tomcat-9.0./bin/bootstrap.jar:/data/apache-tomcat-9.0./bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-9.0. -Dcatalina.home=/data/apache-tomcat-9.0. -Djava.io.tmpdir=/data/apache-tomcat-9.0./temp org.apache.catalina.startup.Bootstrap start
root Mar08 ? :: /usr/lib/jvm/java/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-9.0./conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize= -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK= -Dignore.endorsed.dirs= -classpath /data/apache-tomcat-9.0./bin/bootstrap.jar:/data/apache-tomcat-9.0./bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-9.0. -Dcatalina.home=/data/apache-tomcat-9.0. -Djava.io.tmpdir=/data/apache-tomcat-9.0./temp org.apache.catalina.startup.Bootstrap start
root May09 ? :: /usr/lib/jvm/java/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-9.0./conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize= -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK= -Dignore.endorsed.dirs= -classpath /data/apache-tomcat-9.0./bin/bootstrap.jar:/data/apache-tomcat-9.0./bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-9.0. -Dcatalina.home=/data/apache-tomcat-9.0. -Djava.io.tmpdir=/data/apache-tomcat-9.0./temp org.apache.catalina.startup.Bootstrap start
root May09 ? :: /usr/lib/jvm/java/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-9.0./conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize= -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK= -Dignore.endorsed.dirs= -classpath /data/apache-tomcat-9.0./bin/bootstrap.jar:/data/apache-tomcat-9.0./bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-9.0. -Dcatalina.home=/data/apache-tomcat-9.0. -Djava.io.tmpdir=/data/apache-tomcat-9.0./temp org.apache.catalina.startup.Bootstrap start
root May27 ? :: /usr/lib/jvm/java/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-9.0./conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize= -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK= -Dignore.endorsed.dirs= -classpath /data/apache-tomcat-9.0./bin/bootstrap.jar:/data/apache-tomcat-9.0./bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-9.0. -Dcatalina.home=/data/apache-tomcat-9.0. -Djava.io.tmpdir=/data/apache-tomcat-9.0./temp org.apache.catalina.startup.Bootstrap start
root May27 ? :: /usr/lib/jvm/java/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-9.0./conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize= -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK= -Dignore.endorsed.dirs= -classpath /data/apache-tomcat-9.0./bin/bootstrap.jar:/data/apache-tomcat-9.0./bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-9.0. -Dcatalina.home=/data/apache-tomcat-9.0. -Djava.io.tmpdir=/data/apache-tomcat-9.0./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、然后查看主机监控,果然内存使用率下降,网站运行正常

Java进程占用内存过高,排查解决方法的更多相关文章

  1. 万答#3,MGR最佳配置参考,PFS里的监测指标要全开吗,mysqld进程占用内存过高怎么排查

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 问题1,有推荐的MGR运行最佳配置参考吗 在「3306π」社区广州站5月22日的分享会上,万里数据库CTO娄帅给出了他建议 ...

  2. Unity3D占用内存太大的解决方法

    原地址:http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大 ...

  3. (转)Unity3D占用内存太大的解决方法

    自:http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大.  ...

  4. Linux排查Java程序占用CPU很高的解决办法

    Java的工具集相当强大,学习成本也很低,处理线上问题时,jstack这个工具就比微软的windbg,好学好用很多,3步找出占用CPU很高的源所在.而windbg反人类的各种命令,实在不敢恭维. 故意 ...

  5. w3wp.exe进程占用内存过高解决方法

    解决CPU占用过多: 1.在IIS中对每个网站进行单独的应用程序池配置.即互相之间不影响. 2.设置应用程序池的CPU监视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭. 根据w3wp ...

  6. Java 进程占用内存过多,幕后元凶原来是线程太多

    那天中午吃饭,一个同事说,那个项目组的人快气死我了,程序有问题,早晨在群里@了他们,到中午才回消息,然后竟然还说他们的程序没有问题,是我们这边调用的太频繁了. 简直想笑. 背景说明 我们当前这个系统和 ...

  7. linux下查找java进程占用CPU过高原因

    1. 查找进程 top查看进程占用资源情况 明显看出java的两个进程22714,12406占用过高cpu.   2.查找线程 使用top -H -p <pid>查看线程占用情况   3. ...

  8. Apache服务器httpd.exe进程占用cpu超过50%的解决方法

    httpd.exe进程占用cpu超过50%,关闭掉Apache服务,cpu应用率立刻下降到0.  重新启动Apache又出现占用cpu高的情况.  原因是:httpd.exe和防火墙配置有冲突. 解决 ...

  9. SQL Server 占用CPU较高的解决方法

    触发原因:月底系统结账的时候对ERP的操作较多,有用户反馈系统之间的数据传输很久没有同步.随即到服务器上查看,没有发现有程序导致的问题,看了一下CPU的使用率,发现SQL Server占用率在百分之九 ...

随机推荐

  1. P3968 [TJOI2014]电源插排

    P3968 [TJOI2014]电源插排 线段树维护最长空区间及左端点位置,这个和$nlongn$的动态最大子序和差不多,就不多解释了 $n$较大哈希优化空间 My complete code: #i ...

  2. 部署nginx支持lua

    nginx yum -y install gcc pcre pcre-devel openssl openssl-devel  GeoIP GeoIP-devel lua lua-develwget ...

  3. python当前工作文件夹中创建空的.txt文件

    import os def new_txt(): a1='实线' b = os.getcwd() + '\\fazhandadao_test_txt\\' if not os.path.exists( ...

  4. ffmpeg去水印

    1.用potplayer打开有水印的视频文件,截图一张待用.2.用IrfanView打开保存的图片,调整到100%大小,按住鼠标左键框选水印位置,记下标题“Selection:”右边的4组数字.3.f ...

  5. python二进制数据

    一直以来对python的二进制数据搞不清楚. 一.二进制显示格式与实际存储值区别 1.二进制数据在python中以字节(bytes)类型和字节数组类型(bytearray)保存着,前者数据固定,后者不 ...

  6. 「LOJ#10068」「一本通 3.1 练习 3」秘密的牛奶运输(次小生成树

    题目描述 Farmer John 要把他的牛奶运输到各个销售点.运输过程中,可以先把牛奶运输到一些销售点,再由这些销售点分别运输到其他销售点. 运输的总距离越小,运输的成本也就越低.低成本的运输是 F ...

  7. 3170: [Tjoi 2013]松鼠聚会

    题目大意 给定n个点,找到一个点使这个点到其他所有点的切比雪夫距离之和最小. 题解 我们知道切比雪夫距离和曼哈顿距离的转化公式 \(1\)表示切比雪夫距离,\(2\)表示曼哈顿距离 我们有: \(x_ ...

  8. python反复执行某个命令

    #! /usr/bin/env python #coding=utf-8 # 以需要的时间间隔执行某个命令    import time, os    def re_exe(cmd, inc = 60 ...

  9. Linux User

    1.用户的工作目录,在/etc/passwd中查看 2.如果shell=bin/false(正常为bin/bash)代表禁止登录,这样就无法登录以及通过su进行切换: 3.修改,usermod -d ...

  10. bzoj 5093 图的价值 —— 第二类斯特林数+NTT

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=5093 每个点都是等价的,从点的贡献来看,得到式子: \( ans = n * \sum\li ...