如何配置并解决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
相关文章
|
7月前
|
缓存 Java 中间件
jvm性能调优实战 -55RPC调用引发的OOM故障
jvm性能调优实战 -55RPC调用引发的OOM故障
95 0
|
5月前
|
存储 消息中间件 监控
JVM内存问题之ARMS监控显示堆内存和我设置的不同如何解决
JVM内存问题之ARMS监控显示堆内存和我设置的不同如何解决
|
4月前
|
缓存 Kubernetes Java
在K8S中,如何排查与解决Pod出现OOM的问题?
在K8S中,如何排查与解决Pod出现OOM的问题?
|
6月前
|
存储 缓存 监控
深入JVM:解析OOM的三大场景,原因及实战解决方案
深入JVM:解析OOM的三大场景,原因及实战解决方案
|
Java Linux
生产环境OOM问题的排查记录
生产环境OOM问题的排查记录
197 1
|
缓存 算法 Java
JVM问题排查
JVM问题排查
192 0
|
监控 Java 编译器
【jvm系列-13】jvm性能调优篇---参数设置以及日志分析
【jvm系列-13】jvm性能调优篇---参数设置以及日志分析
467 0
|
监控 Java
JVM性能监控 - jinfo查看和设置JVM配置参数
JVM性能监控 - jinfo查看和设置JVM配置参数
478 0
|
Java
OOM排查小案例
写作目的 排查过某OOM问题吗?额。。。没有
206 0
OOM排查小案例
|
存储 Java Linux
浅析JVM几种常见OOM异常原因及解决方案(上)
在《Java虚拟机规范》的规定里,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(下文称OOM) 异常的可能。