内存占满引起应用出现fullgc的case

简介: 内存占满/fullgc

故障现象

现象:系统响应缓慢

故障处理过程

中午12:13发生响应时间告警,同时有xxx-pro无法获取数据库连接的报错,

12:15 小A查看监控发现有两台服务器响应时间出现明显升高,

12:17 小B重启了这两台服务器,响应时间恢复正常

image.png

12:48收到xxx-pro无法获取数据库连接告警,

12:51运维导出了dump文件,从运维导出的文件分析,

告警是因为内存占满引起,7.1个G的内存中,异步线程占了6.5个G,主要是因为执行打印报销单引起,

12:53运维陆续重启了响应时间较高的几台xxx-pro的服务器后,12:58左右响应时间恢复正常

image.png


故障原因

部分服务器内存占满引起xxx系统出现fullgc,7.1个G的内存中,异步线程占了6.5个G,主要是因为调用打印报销单引起


反思与改进方案

  1. xxx-pro中包含的模块太多,定位问题需要通过导出服务器的内存和线程使用情况分析,定位到具体的调用链路后做优化,如果可以把xxx-pro中的内容拆分到对应的服务中,把xxx-pro拆得细一点,对提升定位问题的效率会有很大的帮助
  2. 目前的改进措施是整理xxx-pro和打印相关的情况,共有16个请求,志成协助在nginx上对这部分请求做了转发,新增了两台服务器,专门处理打印请求,打印相关的请求全部转发到这两台新增的服务器上
  3. 需要分析打印模块是否存在内存泄漏
  4. 目前有一种方案通过采用仿真模式进行jasper打印内容的填充来做优化,需要先在测试环境做验证

相关文章
|
2月前
|
存储 开发工具 Android开发
构建高效的Android应用:从内存管理到用户界面
【5月更文挑战第29天】 随着智能手机的普及,Android应用的开发变得日益重要。然而,许多开发者在开发过程中忽视了性能优化,导致应用运行缓慢,用户体验差。本文将深入探讨如何通过有效的内存管理和用户界面优化,提升Android应用的性能。我们将详细介绍内存泄漏的原因和解决方案,以及如何使用Android的新特性来创建流畅的用户界面。无论你是新手还是经验丰富的开发者,都可以从本文中获得有用的技巧和建议。
|
1月前
|
编译器 C语言 C++
C语言学习记录——位段(内存分配、位段的跨平台、位段的应用)
C语言学习记录——位段(内存分配、位段的跨平台、位段的应用)
17 0
|
4天前
|
监控 算法 Java
如何优化Java应用程序的内存管理
如何优化Java应用程序的内存管理
|
26天前
|
运维 Serverless Nacos
Serverless 应用引擎产品使用合集之在访问量过大的情况下,函数配置的cpu和内存会自动扩容吗
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
5天前
|
存储 Java Android开发
如何优化Java应用程序的内存管理
如何优化Java应用程序的内存管理
|
1月前
|
C++ 存储 Java
C++ 引用和指针:内存地址、创建方法及应用解析
'markdown'C++ 中的引用是现有变量的别名,用 `&` 创建。例如:`string &meal = food;`。指针通过 `&` 获取变量内存地址,用 `*` 创建。指针变量存储地址,如 `string *ptr = &food;`。引用不可为空且不可变,指针可为空且可变,适用于动态内存和复杂数据结构。两者在函数参数传递和效率提升方面各有优势。 ```
|
13天前
|
缓存 自然语言处理 Java
Python的内存管理应用
Python的内存管理应用
|
2月前
|
移动开发 监控 Android开发
构建高效Android应用:从内存优化到电池寿命代码之美:从功能实现到艺术创作
【5月更文挑战第28天】 在移动开发领域,特别是针对Android系统,性能优化始终是关键议题之一。本文深入探讨了如何通过细致的内存管理和电池使用策略,提升Android应用的运行效率和用户体验。文章不仅涵盖了现代Android设备上常见的内存泄漏问题,还提出了有效的解决方案,包括代码级优化和使用工具进行诊断。同时,文中也详细阐述了如何通过减少不必要的后台服务、合理管理设备唤醒锁以及优化网络调用等手段延长应用的电池续航时间。这些方法和技术旨在帮助开发者构建更加健壮、高效的Android应用程序。
|
2月前
|
JSON 数据管理 测试技术
自动化测试工具Selenium Grid的深度应用分析深入理解操作系统的内存管理
【5月更文挑战第28天】随着互联网技术的飞速发展,软件测试工作日益复杂化,传统的手工测试已无法满足快速迭代的需求。自动化测试工具Selenium Grid因其分布式执行特性而受到广泛关注。本文旨在深入剖析Selenium Grid的工作原理、配置方法及其在复杂测试场景中的应用优势,为测试工程师提供高效测试解决方案的参考。
|
2月前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶系统中的应用深入理解操作系统内存管理:原理与实践
【5月更文挑战第28天】 随着人工智能技术的飞速发展,图像识别作为其重要分支之一,在多个领域展现出了广泛的应用潜力。尤其是在自动驾驶系统中,基于深度学习的图像识别技术已成为实现车辆环境感知和决策的关键。本文将深入探讨深度学习算法在自动驾驶图像识别中的作用,分析其面临的挑战以及未来的发展趋势,并以此为基础,展望该技术对自动驾驶安全性和效率的影响。