[問題] Runtime.getRuntime() Memory 問題

看板java作者 (Bygones)時間14年前 (2010/03/26 15:00), 編輯推噓2(204)
留言6則, 5人參與, 最新討論串1/2 (看更多)
最近,在找該怎麼測程式記憶體使用量的問題 先爬過板上,有人提出使用 Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory() 這個方式,我有一點疑問,就是 如果我用兩台不一樣的電腦下去跑相同的程式 跑出來的memory數量其實不太相同。 我想請問,為什麼不同? 照理來說使用的記憶體應該差不多,是否在執行的時候配置跟os有關? total memory 我測過是一樣的,但是freememory會改變,我想請問改變的原因是為何? 請各位解決我的疑惑,謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.125.85.72

03/26 15:04, , 1F
我不知道,但我想 JConsole 可以讓你觀察到更多東西
03/26 15:04, 1F

03/26 15:12, , 2F
"請各位解決我的疑惑" <-- LOL XD
03/26 15:12, 2F

03/26 16:12, , 3F
那個 freeMemory() 的說明有仔細看嗎?
03/26 16:12, 3F

03/26 17:02, , 4F
請問樓上freememory 不是未使用的空間嗎?
03/26 17:02, 4F

03/27 00:21, , 5F
應該是你GC的不夠多... 請參考這篇文章
03/27 00:21, 5F
文章代碼(AID): #1Bh5j-Qj (java)
文章代碼(AID): #1Bh5j-Qj (java)