0

我正在为我的 Java Web 应用程序进行内存管理分析,

在启动我的 tomcat 之前,RAM 中的可用内存约为 595 MB,一旦我启动服务器,可用内存将变为 151 MB。当我进行堆转储时,对象占用了 262 MB。

那么仅tomcat会占用剩余的181 MB吗?

另一个问题是,我对 500 个用户进行了负载测试。可用内存达到 8MB,当我在这里进行堆转储时,大约是 265MB。所以可用空间 151 MB 减少到 8MB,可能是什么原因

请注意,我使用top命令检查 RAM 中的空闲内存。

4

2 回答 2

0

这完全取决于您如何计算空闲内存(Profiler?TaskManager?以编程方式?)以及您正在评估的内存(堆?非堆?等等......)Tomcat本身并不占用太多内存(我不准确回忆一下,但基本设置绝对不应该占用 180Mb)

于 2012-02-28T11:03:44.307 回答
0

空闲内存是内核、程序或磁盘缓存未使用的内存。磁盘缓存的大小因您访问或删除的文件而异,并且不能很好地表明内存消耗。

Java 在启动时使用了相当多的内存。其中大部分是共享的。Tomcat 可能是一个相对复杂的应用程序,具体取决于您加载的内容,但对 JVM 和 Tomcat 使用 181 MB 对我来说似乎是合理的。

于 2012-02-28T11:06:04.463 回答