如何在1.4中识别java堆大小
我正在运行Java 1.4(Java版本“1.4.2_08”) 我想知道如何在1.4中识别java堆大小,java,jvm-arguments,java1.4,Java,Jvm Arguments,Java1.4,我正在运行Java 1.4(Java版本“1.4.2_08”) 我想知道JVM的当前堆大小是多少 当我在命令下面跑的时候 java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize| PermSize|ThreadStackSize' 我得到这个错误: Unrecogni
JVM
的当前堆大小是多少
当我在命令下面跑的时候
java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize| PermSize|ThreadStackSize'
我得到这个错误:
Unrecognized VM option '+PrintFlagsFinal'
Could not create the Java virtual machine.
我阅读了一些文章,了解到Java 1.4版本不支持的中的这个命令。我能够找到这个:
您可能感兴趣的部分:
关键是让你的应用程序在发送退出信号时进行堆转储。在应用程序启动时将此选项附加到java选项:
-XX:+HeapDumpOnCtrlBreak
之后,您需要向它发送一个SIGQUIT(kill-3
)。它会将堆转储到一个文件中,您可以在该文件上进城
请考虑升级。 根据,如果您没有在Java 1.4进程命令行中指定-Xms
或-Xmx
参数,它将在4 MB到64 MB之间:
在J2SE平台版本1.4.2中,默认情况下进行了以下选择
- 串行垃圾收集器
- 堆大小
- 初始堆大小为4 MB
- 最大堆大小为64 MB
- 客户端运行时编译器
-Dcom.sun.management.jmxremote
或com.sun.management.jmxremote.port
选项
你在做考古学。我认为您应该接受这样一个事实:您不会得到一个完美的答案,只需看看操作系统为JVM进程分配了多少内存即可。该标志很可能在java 1.4中不可用,它在8上对我很好,为什么需要它?“我正在运行java 1.4”-我很久没有听到这个名称了。您应该真正更新到更新的版本,例如Java1.6。这是我所知的最旧版本,目前仍在积极维护中(本例中由Azul Systems通过OpenJDK进行维护)。@user1516873,我的一位客户的应用程序运行在1.4上,导致性能问题和内存不足错误。为了进一步调试,我想知道这个JVM的堆大小是多少。我不知道如何继续。在任何情况下,您通常会从JVM参数派生最大堆大小,如果没有指定,它将使用默认值,非服务器JVM的最大堆大小为64 MB(尽管在1.4中可能是32MB)。仅供参考:OP不能下推:谢谢@Z4 tier,我现在可以通过运行ps-elf | grep-I--colorxmx命令来查看堆大小