【发布时间】:2012-01-28 10:18:41
【问题描述】:
当 IntelliJ 或 Eclipse 正在运行时,我可以从底部的进度条中看到它们在应用程序内部使用了多少堆。它始终指示启动时分配的最大大小低于 512 MB 的值。 现在在很多情况下,如果我从操作系统(Linux)看它说应用程序正在使用大约 1300 MB,我知道库、堆栈、内存映射文件......不在堆中...... 但是为什么差距这么大?通常有大约 1GB 的差异...为什么?
谢谢。
【问题讨论】:
-
使用工具检查应用程序的不同内存大小。例如,使用 jconsole(随您的 jdk 提供)。请参阅java.sun.com/developer/technicalArticles/J2SE/jconsole.html 了解更多信息
-
你从os tools看到的值是操作系统给进程的内存。在这种情况下,它很可能接近 -Xmx 值。
-
@Jayan 实际上,该应用程序是使用 -Xmx512 运行的......整个应用程序使用了大约 1.3 GB ......所以据我所知,这些值并不接近。
-
@jelle 我会尝试使用该工具来看看它在做什么..
标签: java eclipse memory intellij-idea