gpt4 book ai didi

java - 为什么 Glassfish 在 Linux 中似乎比在 Windows 中需要更多内存?

转载 作者:可可西里 更新时间:2023-11-01 12:08:03 25 4
gpt4 key购买 nike

我最近一直在修补 GlassFish 2.1.1,既有 Ubuntu Linux 机器,也有 Windows XP 机器。

查看 Windows 上代表 asadmin、JavaDB 服务器和 GlassFish 应用程序服务器域本身的“java”进程(使用任务管理器),它们加起来刚好超过 100 MB 的内存。

但是,查看 Linux 机器上的相同进程(使用“ps aux”和 Gnome 系统监视器)显示内存使用量大约为 800 MB。

这对我来说似乎非常奇怪。如果有的话,我会假设 Windows 上的内存使用不太有利。无论哪种方式,我都不会期望两者之间的 Swing 如此戏剧化。我在这里缺少一些基本的东西吗?我不一定需要详细的分析信息,我只需要两个平台上总内存使用量(真实世界)的大致准确数字。

最佳答案

因为您的衡量方式不同。

在支持虚拟内存和共享内存的系统上测量内存使用是出了名的困难; Linux 和 Windows 都属于这一类。

基本上它源于周围

  • 您是否计算刚刚分配但未映射的页面?
  • 您计算潜在的共享页面吗? (例如来自映射文件/可执行文件/库等的文件)

答案并非那么微不足道。

Linux 提供了两种“简单”的内存测量方法,即 RSS 和 VM 大小,这两种方法都不能准确代表人们在说“它使用了多少内存”时通常认为的意思。程序员认为他们的意思通常介于 RSS 和 VM 大小之间。

关于java - 为什么 Glassfish 在 Linux 中似乎比在 Windows 中需要更多内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3822798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com