当前位置:首页 > 虚拟机 > 正文

java虚拟机的常见参数(java虚拟机配置教程)

java设置内存溢出时自动重启jar

如果您的Java应用程序因内存溢出而崩溃,并且您希望自动重新启动JAR文件以继续运行,您可以使用一些脚本或工具来实现此目的。以下是一些可能的解决方案:
1.编写脚本以自动重新启动JAR文件:您可以编写脚本文件以在Java应用程序崩溃时自动重新启动JAR文件。该脚本应检查Java进程是否已完成,并在必要时重新启动JAR文件。在Linux上,可以使用Bash脚本来实现该功能,而在Windows上,可以使用批处理文件来实现该功能。
2.使用Java监控工具自动重启JAR文件:您可以使用多种Java监控工具来监控您的Java应用程序,并在发生内存溢出时自动重启JAR文件。例如,您可以使用JavaServiceWrapper或ApacheCommonsDaemon来实现此功能。
3.使用Java虚拟机参数设置:可以使用Java虚拟机参数设置JAR文件在内存溢出时自动重启。例如,您可以使用-XX:OnOutOfMemoryError参数指定Java应用程序崩溃时要执行的脚本或命令。然后,您可以重新启动脚本中的JAR文件以继续运行。
需要注意的是,自动重启JAR文件并不是解决内存溢出问题的。通常,您应该尝试调整Java应用程序的内存分配,以减少内存溢出的发生。例如,您可以尝试增加Java虚拟机的内存或检查代码中的内存泄漏。

java虚拟机内存因程序需要已确定在2—4G范围内,请问怎样分配该内存较好。请各位大神给出几套方案!

方便的就是的,不要盲目添加参数。

1.首先,建议-Xms和-Xmx设置一致,设置为2G/4G。记得添加-server参数,即启动命令行检查如下参数

java-server-Xms2000m-Xmx2000m

2.上面JVM的基本配置就完成了。建议此时对JVM进行压力测试,并添加JVM的gc参数来分析内存使用情况。

java-server-Xms2000m-Xmx2000m-Xloggc:$CATALINA_HOME/logs/

3.使用HPjmter或jprofile配置JVM解析内存回收日志。了解内存瓶颈在哪里,并进行相应的分析和调整。这个性能调优不是你可以随便调整的,甚至盲目调整也会产生负面影响。如果您不知道上述软件,请在GOOGLE上搜索。