如何在 1.4 中识别 Java 堆大小



我正在运行Java 1.4(java版本"1.4.2_08"(

我想知道JVM的当前堆大小是多少。

当我运行以下命令时

java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|                                                                                        PermSize|ThreadStackSize'

我收到此错误:

Unrecognized VM option '+PrintFlagsFinal'
Could not create the Java virtual machine.

我浏览了一些文章,并在Java 1.4版本不支持的情况下了解了此命令。

我能够挖掘出这个: http://sysadminsjourney.com/content/2008/09/05/profiling-your-java-142-memory-heap/

您可能感兴趣的部分:

关键是让你的应用在向它发送 QUIT 信号时执行堆转储。在应用程序启动时将此选项附加到 Java 选项中:

-XX:+HeapDumpOnCtrlBreak

之后,您需要向其发送SIGQUIT(kill -3 <PID>(。它会将堆转储到一个文件中,您可以去镇上。

但请考虑升级。

根据 5.0 Java TM 虚拟机中的人体工程学,如果您尚未在 Java 1.4 进程命令行中指定-Xms-Xmx参数,则参数将在 4 MB 到 64 MB 之间:

缺省情况下,在 J2SE 平台版本 1.4.2 中,进行了以下选择

  • 串行垃圾回收器
  • 堆大小
  • 初始堆大小为 4 MB
  • 最大堆大小为 64 MB
  • 客户端运行时编译器

您可以尝试安装 Java 1.4 的 JMX 扩展以获取运行时值,但不幸的是,似乎不再可从 Oracle 官方网站下载。

如果没有JMX扩展,您将无法使用JConsole,根据文档:

不可附加的应用程序,已禁用管理代理。其中包括在 Java SE 1.4.2 平台上启动的应用程序,或者在没有-Dcom.sun.management.jmxremotecom.sun.management.jmxremote.port选项的情况下在Java SE 5.0 平台上启动的应用程序

你在做考古学。我认为你应该接受你不会得到一个完美的答案,只是看看操作系统分配给JVM进程的内存量。

相关内容

  • 没有找到相关文章

最新更新