Tomcat 内存使用率比 -Xmx 和 -XX:MaxPermSize 更高

Tomcat 内存使用率比 -Xmx 和 -XX:MaxPermSize 更高

我有几个在Windows 2008 R2 Server上运行的tomcat,它们都配置为使用2G作为-Xmx和256m作为-XX:MaxPermSize。

在Windows任务管理器中我可以看到其中一些tomcat使用了高达4G的内存,这会一直触发我们的监控系统。

什么可能导致内存使用率过高,或者这是正常现象?

答案1

操作系统将报告 JVM 使用的内存 + 程序使用的内存。因此,它始终会高于 JVM 报告的内存使用量。JVM 本身需要一定量的内存才能执行程序,操作系统无法分辨出差异。

不幸的是,使用系统内存工具并不是跟踪程序内存消耗的非常精确的方法。JVM 通常会分配大块内存,因此对象创建速度很快,但这并不意味着您的程序正在消耗这些内存。

了解程序实际执行情况的更好方法是运行 jconsole 并查看内存使用情况。这是一个查看内存的非常简单且易于设置的工具。

这是 chubbsondubs 对类似问题的回答这里这可能与您看到大量 RAM 的原因有关,可能包括应用程序的 RAM 使用情况?他还提供了有关如何更有效地检查的建议。

威廉

相关内容