Re: [問題] Runtime.getRuntime() Memory 問題
※ 引述《duple (Bygones)》之銘言:
: Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory()
: 這個方式,我有一點疑問,就是 如果我用兩台不一樣的電腦下去跑相同的程式
: 跑出來的memory數量其實不太相同。
: 我想請問,為什麼不同?
: 照理來說使用的記憶體應該差不多,是否在執行的時候配置跟os有關?
: total memory 我測過是一樣的,但是freememory會改變,我想請問改變的原因是為何?
: 請各位解決我的疑惑,謝謝!!
: → tkcn:我不知道,但我想 JConsole 可以讓你觀察到更多東西 03/26 15:04
: → AmosYang:"請各位解決我的疑惑" <-- LOL XD 03/26 15:12
: 推 PsMonkey:那個 freeMemory() 的說明有仔細看嗎? 03/26 16:12
: → duple:請問樓上freememory 不是未使用的空間嗎? 03/26 17:02
請注意,大小寫是有別的,你寫 freememory 是錯字,基本上也算犯了版規
http://java.sun.com/javase/6/docs/api/java/lang/Runtime.html#freeMemory()
Returns the amount of free memory in the Java Virtual Machine.
Calling the gc method may result in increasing the value
returned by freeMemory.
不用說不同台電腦
我以前用同一台電腦玩這東西,都會得到不同的數字
JVM 什麼時候 GC 是沒辦法預測的(理論上)
甚至會覺得 GC 的結果也無法預測(這有點像是上面那句的結果)
所以也就更不用講 freeMemory() 的東西也只能參考用
====
JVM 完全不熟,有錯還請指點
--
錢鍾書: 說出來的話
http://www.psmonkey.org
比不上不說出來的話
Java 版 cookcomic 版
只影射著說不出來的話
and more......
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.70.183.120
推
04/09 20:01, , 1F
04/09 20:01, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):