-
“PS Old Gen”满了之后会导致JVM进程直接挂掉?0
服务器是Linux,Tomcat运行了一段时间之后java进程直接消失了,检查hs_err_pid2524.log文件发现有一句
PSOldGen total 524288K, used 515043K [0x34e60000, 0x54e60000, 0x54e60000)
object space 524288K, 98% used [0x34e60000,0x54558c08,0x54e60000)
所以猜测是老年代满了之后没有足够的内存,导致JVM进程消失。
按理说JVM应该在老年代满了之后进行一次FullGC的,为什么没有成功?与JVM的参数配置有关吗?一般老年代设置多少合适?
下面是我的JVM参数配置
-Xms2048m -Xmx2048m -Xmn1536m -XX:NewSize=1536m -XX:MaxNewSize=1536m -XX:PermSize=128M -XX:MaxPermSize=256m -XX:+UseParallelGC -XX:ParallelGCThreads=4 -XX:MaxTenuringThreshold=15 -Djava.awt.headless=true -verbose:gc -Xloggc:/opt/tomcat6/logs/gc.log -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -Djava.rmi.server.hostname=XXX.XXX.XXX.XXX -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=XXX -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
2013年6月09日 11:38
目前还没有答案
相关推荐
但是,如果 GC 过程中出现问题,例如 GC 次数过高、GC 时间过长等情况,都可能会导致 JVM 卡住或性能下降。 在这个问题中,作者升级了 Java 17,并将 JVM 日志统一采集到同一个 AWS 的 EFS 服务中。同时,作者还...
GC(Garbage Collection)不会在主程序运行期对 PermGen space 进行清理,这意味着如果应用程序加载了很多 Class,那么 PermGen space 就可能会溢出,导致 OutOfMemoryError。 解决 PermGen space 问题的方法: 1....
04、导致JVM内存泄露的ThreadLocal详解_ev04、导致JVM内存泄露的ThreadLocal详解_ev04、导致JVM内存泄露的ThreadLocal详解_ev04、导致JVM内存泄露的ThreadLocal详解_ev04、导致JVM内存泄露的ThreadLocal详解_ev04、...
在微服务架构中,每个服务可能运行在单独的JVM进程中,而且每个进程可能会有自己的端口号。在这样的环境下,使用jps命令可能会遇到进程重名的问题,这使得某些传统监控脚本不再适用。因此,需要通过Zabbix的Server来...
老年代存储的是生命周期较长的对象,当老年代空间不足时,会触发Major GC(Full GC),这通常会导致应用程序暂停,因此应尽量避免频繁的Full GC。 5. **JVisualVM与JConsole** `jvisualvm` 和 `jconsole` 是两款...
频繁的Minor GC会导致应用暂停,而过早晋升到老年代则可能导致老年代过快填满,触发Full GC,这将对性能造成更大影响。通过监控GC日志,可以分析年轻代的利用率和晋升到老年代的对象数量,以此为依据进行调整。 ...
JVM(Java虚拟机)作为Java程序的运行环境,它的性能直接影响到应用的响应速度和整体效率。"查看JVM进程的CPU火焰图工具"就是这样一个用于监控和分析JVM性能的利器,尤其在Linux环境下,它可以帮助开发者直观地了解...
### JVM必知必会知识点梳理 #### 1. JVM的定义与层次 Java虚拟机(JVM)具有多重含义: - **一套规范**:即Java虚拟机规范,定义了Java虚拟机应该具有的行为。 - **一种实现**:例如HotSpot、J9、JRockit,它们都是...
Java独立进程应用的JVM设置是一项关键的优化任务,它直接影响到应用的稳定性和性能。由于目前缺乏专门的中间件来管理系统中的Java进程,开发者必须亲自处理JVM内存配置,以确保应用程序的高效运行。本文档的目标是...
如果 web 应用使用了大量的第三方 jar 或者应用有太多的 class 文件,而 MaxPermSize 设置较小,可能会导致该空间的溢出。 Java heap space 是堆内存,用于存放对象和数组。其默认空间是物理内存的 1/64,最大空间...
在Java应用程序中,JVM(Java虚拟机)的垃圾收集(Garbage Collection, GC)是自动管理内存的关键机制。当对象不再被引用时,GC负责回收这些无用的对象所占用的内存空间,以避免内存泄漏。然而,如果GC过程耗时过长...
如果PermGen空间(Java 8之前的版本)或Metaspace(Java 8及之后版本)过小,可能会导致频繁的GC活动,甚至出现OutOfMemoryError异常。 5. **常用的GC回收算法有哪些?** 常用的GC回收算法包括但不限于:串行收集...
`[PSOldGen: 973066K->450587K(1060864K)]`则表示老年代从973066K减少到450587K,说明一些对象晋升到了老年代。 除了上述基本参数,还有一些其他的工具和选项可以帮助深入分析。例如: - `-verbose:gc` - 提供更...
模糊测试在JVM进程内进行的优势在于可以直接对字节码级别进行操作,这样可以更深入地测试到代码的执行路径。与传统的模糊测试相比,这种方法可以避免由于语言特性和运行时环境的限制而遗漏的部分测试场景。例如,它...
通常,`jvm-mon`通过指定目标JVM的PID来附加到进程,从而进行实时监控。 ### 结合其他性能分析工具 虽然`jvm-mon`提供了基本的JVM监控功能,但更复杂的性能问题可能需要结合其他专业工具,如JProfiler、VisualVM、...
在Java编程环境中,实现守护进程(Daemon)以及创建多个进程和JVM是非常常见的需求,特别是在构建分布式系统或者需要持续后台运行的服务时。本篇将详细阐述如何使用Java来实现这些功能。 守护进程通常是一个在后台...
在Java 8之后,方法区被元空间(Metaspace)替代,元空间位于本地内存,不设上限但会受系统内存限制。 以上只是JVM面试中的一小部分问题,深入理解和掌握JVM的工作原理,能够帮助开发者解决性能问题,提升应用的...
此外,提到内存溢出的问题,当应用程序需要的内存超过堆的最大值时,会导致JVM抛出内存溢出异常,使服务崩溃。通常建议将最大内存设置为物理内存的80%,以确保有足够的空间给其他系统进程。 垃圾回收的效率和频率与...
zabbix自动发现JAVA进程,并进行自动添加监控JAVA 进程的JVM数据,统计分析告警监控。 支持多种中间件,tomcat、weblogic、微服务方式部署JAVA应用监控。 自带发现脚本和监控脚本,以及zabbix导入模板。
Java虚拟机(JVM)是Java程序运行的核心,它负责解释和执行字节码,为Java应用程序提供了一个跨平台的运行环境。JDK(Java Development Kit)包含了开发和运行Java程序所需的所有工具,包括JVM。当我们谈论"jdk,jvm...