【发布时间】:2011-04-18 21:04:38
【问题描述】:
我最近一直在修补 GlassFish 2.1.1,在 Ubuntu Linux 机器和 Windows XP 机器上都有。
查看代表 asadmin、JavaDB 服务器和 Windows 上 GlassFish 应用服务器域本身的“java”进程(使用任务管理器),它们加起来刚好超过 100 MB 内存。
但是,查看 Linux 机器上的相同进程(使用“ps aux”和 Gnome 系统监视器)显示内存使用量大约为 800 MB。
这对我来说似乎非常奇怪。如果有的话,我会假设内存使用在 Windows 上不太有利。无论哪种方式,我都不会想到两者之间的摇摆会如此戏剧化。我在这里缺少一些基本的东西吗?我不一定需要详细的分析信息,我只需要两个平台上的总内存使用(现实世界)的大致准确数字。
【问题讨论】:
-
恐怕Windows和Linux中计算已用内存的方式不同——这是我注意到的——需要一些研究来证实。 (这就是为什么它不是答案)
-
你在运行 ps aux 时是通过 RSS 还是 VSZ?
-
我想你明白了,jonescb。查看 RSS 值,它们更符合 Windows 上的内存使用情况(实际上大约减少了 10% 左右)。我只是感到困惑,因为 Gnome 系统监视器通过必须是 VSZ 值来报告“总”内存使用情况。 Linux 中的内存使用并不是世界上最直观的事情!
-
如果可以,请考虑使用 GlassFish 3.0.1。非常好。
标签: java windows linux jakarta-ee glassfish