最近,我一直在修補GlassFish 2.1.1,在一個Unbuntu Linux和Windows XP上。爲什麼Glassfish在Linux中需要的內存比在Windows中要多得多?
查看代表asadmin,JavaDB服務器和GlassFish應用程序服務器域本身(在Windows上使用任務管理器)的「java」進程,它們合計的內存僅超過100 MB。
然而,看着在Linux中相同的過程(使用「的ps aux」和Gnome的系統監視器)顯示的800 MB球場內存使用情況。
這似乎非常奇怪了吧。如果有的話,我會認爲內存使用在Windows上不太有利。無論哪種方式,我都不會預料到兩者之間的搖擺會非常激烈。我在這裏錯過了一些基本的東西嗎?我不一定需要詳細的性能分析信息,我只需要在兩個平臺上使用大致準確的內存使用情況(真實世界)。謝謝!
恐怕計算使用的內存的方式在Windows和Linux中是不同的 - 這是我發現 - 需要一些研究來證實。 *(這就是爲什麼它不是答案)* – 2010-09-29 14:56:46
當你運行ps aux時,你是通過RSS還是VSZ? – jonescb 2010-09-29 14:57:16
我想你明白了,jonescb。看看RSS值,它們更符合Windows上的內存使用情況(實際上約爲10%左右)。我只是感到困惑,因爲Gnome系統監視器報告「Total」內存使用量必須是VSZ值。 Linux中的內存使用情況並不完全是世界上最直觀的事情! – 2010-09-29 15:21:56