just_you_java 2024-12-02 09:11 采纳率: 0%
浏览 177
已结题

java启动jar包后,运行过程中宕机

java启动web项目的jar包后,运行一段时间后自动宕机

以下是通过工具检测到的内存和cpu使用情况

1. 启动时未限定xmx/xms使用内存时

img

2. 启动时限制xms为3G,xmx内存为8G时

img

img

部署在windows server 2019服务器中,启动命令java -jar -Dfile.encoding=utf-8 -Dspring.config.location=./application.yml znxj.jar

运行一段时间后,使用的内存越来越小,直至宕机。不知道是哪里的问题,鄙人不知道如何推断,通过工具如何做出判断的流程请说明一下。望给出指点

  • 写回答

37条回答 默认 最新

  • 阿里嘎多学长 2024-12-02 09:22
    关注
    获得0.15元问题酬金

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    java启动jar包后,运行过程中宕机

    你遇到的问题是,java启动web项目的jar包后,运行一段时间后自动宕机。通过工具检测到的内存和cpu使用情况,可能是内存泄露或CPU使用率过高导致的宕机。

    以下是一些可能的解决方案:

    1. 检查内存泄露:使用VisualVM或Eclipse Memory Analyzer Tool等工具来检测内存泄露。检查是否有对象没有被释放,导致内存不断增加。
    2. 设置合适的内存参数:在启动java应用程序时,设置合适的内存参数。例如,设置-Xmx-Xms参数来限制内存使用量。
    3. 检查CPU使用率:使用top或htop命令来检查CPU使用率。如果CPU使用率过高,可以尝试优化代码或增加CPU核心数。
    4. 检查日志:检查应用程序的日志,是否有任何错误或警告信息。
    5. 使用profiling工具:使用profiling工具,如VisualVM或YourKit,来检测应用程序的性能瓶颈。

    以下是一个简单的示例代码,用于设置内存参数:

    java -Xmx3G -Xms8G -jar your-jar-file.jar
    

    其中,-Xmx设置了最大内存使用量,-Xms设置了初始内存使用量。

    如果你需要更多帮助,请提供更多的信息和代码。

    评论

报告相同问题?

问题事件

  • 系统已结题 12月10日
  • 修改了问题 12月2日
  • 创建了问题 12月2日