在JAVA服务项目上线之后经常会出现宕机的情况

常见原因

内存溢出

1.查到服务进程号

[root@wms ~]# ps -ef|grep java

root 6399 6069 0 08:57 pts/2 00:00:00 grep --color=auto java

root 25374 1 0 Oct17 ? 00:21:19 /usr/local/jdk/jre/bin/java -Djava.util.logging.config.file=/home/Tomcat-wmsweb/conf/logging.properties -Djava.util.logging.manager=org.Apache.juli.ClassLoaderLogManager -Xms3072m -Xmx3072m -Xss512K -XX:PermSize=256m -XX:MaxPermSize=512m -Djdk.tls.ephemeralDHKeySize=2048 -Djava.endorsed.dirs=/home/tomcat-wmsweb/endorsed -classpath /home/tomcat-wmsweb/bin/bootstrap.jar:/home/tomcat-wmsweb/bin/tomcat-juli.jar -Dcatalina.base=/home/tomcat-wmsweb -Dcatalina.home=/home/tomcat-wmsweb -Djava.io.tmpdir=/home/tomcat-wmsweb/temp org.apache.catalina.startup.Bootstrap start

root 25401 1 2 Oct17 ? 03:14:13 /usr/local/jdk/jre/bin/java -Djava.util.logging.config.file=/home/tomcat-wms/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms3000m -Xmx3000m -Xss512K -XX:PermSize=256m -XX:MaxPermSize=512m -XX:-UseGCOverheadLimit -Djdk.tls.ephemeralDHKeySize=2048 -Djava.endorsed.dirs=/home/tomcat-wms/endorsed -classpath /home/tomcat-wms/bin/bootstrap.jar:/home/tomcat-wms/bin/tomcat-juli.jar -Dcatalina.base=/home/tomcat-wms -Dcatalina.home=/home/tomcat-wms -Djava.io.tmpdir=/home/tomcat-wms/temp org.apache.catalina.startup.Bootstrap start

[root@wms ~]#

2.查看内存使用情况

[root@wms ~]# jmap -heap 25401

Attaching to process ID 25401, please wait...

Debugger attached successfully.

Server compiler detected.

JVM version is 25.211-b12

using thread-local object allocation.

Parallel GC with 4 thread(s)

Heap Configuration:

MinHeapFreeRatio = 0

MaxHeapFreeRatio = 100

MaxHeapSize = 3145728000 (3000.0MB)

NewSize = 1048576000 (1000.0MB)

MaxNewSize = 1048576000 (1000.0MB)

OldSize = 2097152000 (2000.0MB)

NewRatio = 2

SurvivorRatio = 8

MetaspaceSize = 21807104 (20.796875MB)

CompressedClassSpaceSize = 1073741824 (1024.0MB)

MaxMetaspaceSize = 17592186044415 MB

G1HeapRegionSize = 0 (0.0MB)

Heap Usage:

PS Young Generation

Eden Space:

capacity = 607649792 (579.5MB)

used = 607649792 (579.5MB)

free = 0 (0.0MB)

100.0% used

From Space:

capacity = 213385216 (203.5MB)

used = 0 (0.0MB)

free = 213385216 (203.5MB)

0.0% used

To Space:

capacity = 201326592 (192.0MB)

used = 0 (0.0MB)

free = 201326592 (192.0MB)

0.0% used

PS Old Generation

capacity = 2097152000 (2000.0MB)

used = 2097149664 (1999.9977722167969MB)

free = 2336 (0.002227783203125MB)

99.99988861083985% used

121339 interned Strings occupying 10592008 bytes.

发现 Eden Space 100.0% used

PS Old Generation 100.0% used

确认为内存溢出

jmm内存模型

接下来我们需要查看到底是那个大对象造成的这个问题

由于堆内对象信息太多,因此需要输出到问题中查看

[root@wms ~]# jmap -histo:live 25401 >aaa.log

查看大对象信息

[root@wms ~]# vim aaa.log

num #instances #bytes class name

----------------------------------------------

1: 23798913 925276392 [C

2: 23791642 570999408 java.lang.String

3: 879806 201469128 [Ljava.lang.Object;

4: 717239 189351096 com.demo.inventory.query.GetTaskCountQueryItem

5: 5247003 125928072 java.lang.Double

6: 932106 82025328 java.lang.reflect.Method

7: 2144995 68639840 java.util.HashMap$Node

8: 1457567 46642144 java.sql.Timestamp

9: 725212 40611872 org.hibernate.engine.EntityEntry

10: 725213 34810224 org.hibernate.engine.EntityKey

11: 180443 26468992 [Ljava.util.HashMap$Node;

12: 549431 26372688 org.aspectj.weaver.reflect.ShadowMatchImpl

13: 655720 26228800 java.util.LinkedHashMap$Entry

14: 239773 25712128 java.lang.Class

15: 780484 24975488 org.apache.commons.collections.SequencedHashMap$Entry

16: 1535589 24569424 java.lang.Integer

17: 656230 20999360 java.util.concurrent.ConcurrentHashMap$Node

18: 869529 20868696 java.util.ArrayList

19: 822486 20851440 [Ljava.lang.String;

20: 66016 19964336 [B

21: 549431 17581792 org.aspectj.weaver.patterns.ExposedState

22: 705540 15311776 [Z

23: 549431 11702568 [Lorg.aspectj.weaver.ast.Var;

24: 725212 11603392 org.hibernate.util.IdentityMap$IdentityKey

25: 158941 8900696 java.util.LinkedHashMap

26: 324828 7247936 [I

27: 162778 6511120 java.lang.ref.SoftReference

28: 476 6288080 [Ljava.util.concurrent.ConcurrentHashMap$Node;

29: 110595 5308560 java.util.HashMap

30: 155487 4975584 java.lang.ref.WeakReference

31: 16090 3732880 com.demo.inventory.query.WmInvLotLocTraceIdQueryItem

32: 163337 3313312 [Ljava.lang.Class;

33: 41098 3287840 java.lang.reflect.Constructor

34: 51249 3279936 org.hibernate.mApping.Column

35: 81913 3276520 java.util.WeakHashMap$Entry

36: 35571 3047840 [[Ljava.lang.String;

37: 51247 2869832 org.hibernate.mapping.Property

38: 51249 2459952 org.hibernate.mapping.SimpleValue

39: 49720 1988800 org.hibernate.annotations.common.reflection.java.JavaXProperty

40: 48352 1934080 org.hibernate.tuple.StandardProperty

41: 78677 1888248 java.beans.MethodRef

42: 33011 1848616 java.beans.MethodDescriptor

43: 28059 1795776 java.net.URL

44: 49694 1590208 org.hibernate.annotations.common.reflection.java.JavaXSimpleType

最后确认为

com.demo.inventory.query.GetTaskCountQueryItem 对象导致了系统宕机,需要在程序中优化

————————————————

版权声明:本文为CSDN博主「可爱帅」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_43159039/article/details/102676161

java项目宕机出现原因,java服务宕机原因查询相关推荐

  1. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  2. 数据库Java项目:在线租房出租房屋系统(java+springboot+maven+mysql)

    数据库Java项目:在线租房出租房屋系统(java+springboot+maven+mysql) 主要实现了客户在线租房及房东发布出租等基本操作流程的全部功能,系统分普通用户.房东.管理员等角色,除 ...

  3. Java项目架构演变:单体应用-SOA-微服务

    单体应用 概览 所有功能全部打包在一起.大部分是一个jar包或者war包,随着业务发展功能增多,这个项目会越来越臃肿 优点 容易开发,测试,部署,适合项目初期试错 缺点 复杂性高:代码多,十万行,百万 ...

  4. java项目_好程序员Java分享从入门到服务端项目开发的过程

    好程序员Java分享从入门到服务端项目开发的过程,对于打算入门或者刚刚入门学习Java的人来说,刚开始接触这门学科,往往会觉得不知所措,也会觉得很迷茫.结合前人经验,就从入门到进阶对于Java的学习而 ...

  5. java项目 配置文件_细数Java项目中用过的配置文件(properties篇)

    灵魂拷问:在不重启服务的前提下,如何让配置修改生效的呢?有什么奇技淫巧吗? 灵魂拷问:在 Java 项目中,总能看到以 .properties 为后缀的文件踪影,这类配置文件是怎么加载的呢? 项目研发 ...

  6. Java项目框架搭建系列(Java学习路线)-博客提纲 (转自一位技术大佬)

    前言: 已经毕业两年,真是时间飞逝. 其实当你在一间公司工作一两年之后,公司用到的开发框架的基本使用你应该都会了. 你会根据一个现有项目A复制一下搭建出另外一个类似框架的项目B,然后在项目B上进行业务 ...

  7. java项目总结范文_第一次java项目个人总结

    个人总结 在这次项目之前,因为个人状态和心态的原因,从gui课程开始便基本处于神游的状态,状态上体现在上课精力不能集中犯困,心态上体现在明知道自己没学懂也没有主动去问休息时也没有去练习解决问题. 这样 ...

  8. eclipse开发java项目_用eclipse 开发java 项目

    一般分为如下4个步骤: 一.创建Java项目(创建项目之前要选择工作空间) 二.创建程序包 三.编写Java源程序 四.运行Java程序 详细说明 1.创建Java 项目 1.1 打开Eclipse, ...

  9. java项目描述_111个知名Java项目集锦(包括url和描述)

    项目名称 项目描述 Java bytecode manipulation framework AspectWerkz - Dynamic AOP for Java Axis - an implemen ...

  10. Java学习之路1——安装JDK1.8||安装idea2022||Java项目创建【重拾Java】

    Java学习之路1--安装JDK1.8||安装idea2022[重拾Java] 前言 安装 安装JDK1.8 安装idea2022(JetBrains Toolbox) Java项目创建 创建 项目结 ...

最新文章

  1. 谈一谈UNet图像分割
  2. linux内核 current当前进程指针 task_struct结构介绍
  3. 社会化工程攻击针对目标不再仅限最终用户
  4. 实践篇 | 推荐系统之矩阵分解模型
  5. 优化函数html代码,CSS代码优化方法
  6. linux看门狗设备,基于Linux构建无人值守系统(看门狗)
  7. 【Java】睡眠排序
  8. 网络服务家族图谱:一张图带您了解华为云网络服务大家族!【华为云分享】
  9. windows qt 使用openssl API
  10. “上班那点儿事交流圈”发展计划
  11. Flask框架+ajax框架
  12. 苹果手机升级13无法开机_苹果手机更新系统后无法开机
  13. 华为数通笔记-VRP
  14. MarGo: Missing required environment variables: GOROOT GOPATH See the `Quirks` section of USAGE.md fo
  15. comsol函数的使用(入门级教程)
  16. ABP的一些特性 (Attribute)
  17. 数据中台的终点是DataOps还是DaaS?
  18. 数据与C(布尔类型和虚数和实数)
  19. 高二会考计算机分数,会考成绩abcd各是多少分 会考成绩对高考有影响吗
  20. G - RMQ and RAQ (cugb2023-s)

热门文章

  1. 幻月大陆辅助多开挂机攻略
  2. 股票基本名词,你知道多少?
  3. 【SVG素材网站】免费icon、logo素材下载
  4. 用公式提取多个Excel文件的数据
  5. ASP.NET MVC预览4-使用Ajax和Ajax.Form
  6. 晶体三极管结构及其工作原理详解
  7. 读书笔记-《一万个小时定理》
  8. get 到的html代码如何转码,爬虫网页转码逻辑
  9. 面试经验:我是如何得到谷歌、脸书和亚马逊offer的?
  10. 麦当劳“制服黑丝”,火了!