如何配置并解决OOM的问题

简介: 如何配置并解决OOM的问题

正文


在运行项目,开发代码的同时,或许项目刚刚开始的时候,是没有任何问题的,但是随着项目的运行,一些奇葩的问题就会暴露出来,在此时,我们应当找出问题并且解决这个问题是关键。那如何进行呢?


实际上,有一些的问题复现是很困难的,所以,在我们运行项目的时候,一定要插眼;一定要留有余地的配置运行的项目,只有这样,在发生意想不到的问题的时候,才会不慌不忙的解决这个问题。

任何程序的运行实际上都是使用 java  -jar  这种,采用命令行的形式

遇到启动的时候,没有任何的问题,但是运行一段时间后,发现了一些奇奇怪怪的问题。这个时候,可以给项目的启动参数上加上一些配置,完美的解决了这问题。当下一次出现什么问题的时候,就可以针对性的定位解决代码里面隐藏的问题。

# Enables the dumping of the Java heap to a file in the current
# directory by using the heap profiler (HPROF) when a java.lang.OutOfMemoryError exception is thrown.
# 开启 出现 java.lang.OutOfMemoryError 这个异常的时候 保存上下文的 堆栈 信息
-XX:+HeapDumpOnOutOfMemoryError
# 设置保存的堆栈信息的目录
-XX:HeapDumpPath=path
# 打印 每一个 GC 的详细信息 默认是 不开启的状态
-XX:+PrintGCDetails
# 打印 每一次 垃圾回收的 事件
-verbose:gc
# 设置新生代的大小
-Xmn200M
#-Xmn256m
#-Xmn262144k
#-Xmn268435456
-Xmssize # 设置 堆 的初始的大小 This value must be a multiple of 1024 and greater than 1 MB
#-Xms6291456
#-Xms6144k
#-Xms6m
# 设置内存分配池的最大空间 这个值必须是 1024 的整数倍 而且 必须 大于 2MB 的大小
-Xmxsize
# 设置线程 栈 的大小 单位的匹配
# Append the letter k or K to indicate KB, m or M to indicate MB, g or G to indicate GB
-Xsssize

上面的是基本的经常用的配置,平时启动项目,加上上面的配置,就可以优化项目,精准的定位问题。


nohup java  -server -Xms2G -Xmx4G -XX:+HeapDumpOnOutOfMemoryError -XX:Hea
相关文章
|
设计模式 前端开发 Java
总结丨Spring 源码学习,看这一篇就够了
在日常工作中,产品不断写业务需求,他们加班一天,我们开发就得工作一周来完成。 业务领域达到一定地步后,发现日常编写业务代码已经很难让我有突破性的进步,日复一日,担心自己变成一个业务代码生产机器,而无法面对新技术和环境变化。 同时也有危机感,长江后浪推前浪,自己不继续学习的话,很快就会有人超过。 而且我算是比较热心的好同学,喜欢帮别人解决问题和记录解决方案,所以不希望在别人问我工作中有什么常用的框架,遇到这个问题该怎么办,我却回答不上的感觉
7882 1
总结丨Spring 源码学习,看这一篇就够了
|
缓存 JavaScript Java
常见java OOM异常分析排查思路分析
Java虚拟机(JVM)遇到内存不足时会抛出OutOfMemoryError(OOM)异常。常见OOM情况包括:1) **Java堆空间不足**:大量对象未被及时回收或内存泄漏;2) **线程栈空间不足**:递归过深或大量线程创建;3) **方法区溢出**:类信息过多,如CGLib代理类生成过多;4) **本机内存不足**:JNI调用消耗大量内存;5) **GC造成的内存不足**:频繁GC但效果不佳。解决方法包括调整JVM参数(如-Xmx、-Xss)、优化代码及使用高效垃圾回收器。
663 15
常见java OOM异常分析排查思路分析
|
8月前
|
机器学习/深度学习 人工智能 缓存
SepLLM:开源大模型加速神器!400万Token长文本推理提速50%,告别OOM噩梦
SepLLM 是一个用于加速大语言模型的高效框架,通过压缩段落信息并消除冗余标记,显著提高了模型的推理速度和计算效率,适用于长文本处理和多场景部署。
371 7
SepLLM:开源大模型加速神器!400万Token长文本推理提速50%,告别OOM噩梦
|
8月前
|
存储 弹性计算 固态存储
阿里云服务器租用价格参考:云服务器各收费项目收费标准与活动价格
阿里云服务器收费项目有实例价格、预留实例券、专有宿主机、块存储价格、存储容量单位包、带宽价格和快照服务价格,收费模式有包年包月和按量付费模式。本文为大家汇总了2025年阿里云服务器各个收费项目的最新收费标准与云服务器的最新活动价格,以供参考和了解。
|
域名解析 监控 安全
比宝塔面板更好用的部署软件工具面世了
本文对比了宝塔面板与新兴部署软件Websoft9,介绍了Websoft9在部署开源应用时的独特优势,如丰富的即用型模板、简便的安装配置流程、支持泛域名解析及高效的安全性措施,适合不同技术水平的用户使用。
比宝塔面板更好用的部署软件工具面世了
|
机器学习/深度学习 人工智能 程序员
代码之美:我的编程旅程
在数字化时代的浪潮中,编程已成为一种全新的艺术形式。本文将通过个人的技术感悟,探索编程之美的多重维度,从解决问题的成就感,到代码结构的优雅,再到技术社区的温暖,每一方面都是对编程艺术的深刻理解。文章旨在鼓励更多的编程爱好者,以创造性和批判性的眼光,重新审视并欣赏编程这一现代魔法。
132 28
|
存储 弹性计算 Docker
深入探讨Docker的主要功能及其影响力
【8月更文挑战第24天】
367 0
|
监控 Java Linux
java配置OOM时保存堆转储文件
java配置OOM时保存堆转储文件
|
JavaScript Java 测试技术
基于Java的志愿者管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的志愿者管理系统的设计与实现(源码+lw+部署文档+讲解等)
229 0
|
安全 Windows
Windows 10 用户变量、系统变量等环境变量新建、编辑修改与删除方法
Windows 10 用户变量、系统变量等环境变量新建、编辑修改与删除方法
701 2