Re: 64 bit 有比32 bit 好? 還是看圖吧.

看板java作者 (Alien)時間13年前 (2011/02/23 14:33), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串4/11 (看更多)
※ 引述《Lordaeron (Terry)》之銘言: : ※ 引述《adrianshum (Alien)》之銘言: : : 需要用 64bit JVM 的, 十居其九是為了 : : memory, 而不是 performance. : : 32bit JVM, max heap size 最多只能設到 1GB 多. : : 不要忘了這 1GB heap size 還要把 app server 和 : : 各類底層 framework 算在內. : : 比較大型的 application 這 1GB 很容易就不夠了. : : 要解決這種 "不夠" 還是非得修改整個系統的設計不可. : : 就算用的 memory 會增加 50%, performance 會降個 : : 15%, 這些只是多花一點點錢就能買到的 (10GB 的memory : : , 多一顆 CPU 才多花多少錢...) : : 比如說, 要是我的 application 本來要 3GB 才夠跑. : : 32bit JVM 的話: 掰掰, 你大修一次你的 app 吧. : : 64bit JVM: 買夠 5GB 的 memory 就好了. : : 最重要是要搞清楚 64bit JVM 最主要解決的是什麼問題吧. : : 64bit JVM 不是靈丹妙藥一服下就什麼都變得更好. : 多補充一下, 多一顆CPU 也不是什麼靈丹妙藥一服下就什麼都變得更好. : single-threaded 的東西, 加一百顆CPU, 它依然是只用一顆. : 而本身是multi-threaded的也會由於lock 變多, 會不會讓你拿回15% 還很難講 : 最單的測試有: : http://mlee888.wordpress.com/2006/03/31/ : java-performance-in-dual-coremultiprocessor-environment/ 要用到 >2GB heap size 的 application 絕絕大部份是 enterprise grade 的 application. 企圖用 single-threaded application 來說多加 CPU未必有用, "不是錯, 但沒啥意義" 另, 要是因為增加 lock 而令到 multi-thread application 在增加 core 也沒有 performance 增長, 這種情況絕大部份都是程式設計失當, 造成 大量 resource contention. 這種情況不管多少個 core, 那 resource contention 的部份都是 bottleneck. 用這樣的例子去說 多加 CPU 未必有用, 也是 "不是錯, 但沒啥意義" 總歸一句, 轉用 64bit VM 也好, 加 CPU 也好, 大家 需要知道的是: 用什麼手段來解決我面對的問題. 明明是 DB 不夠力, 你在 applicatoin server 狂 加 RAM 狂加 CPU 也是徒然; 明明是算法令 performance 低下, 轉 64bit VM 加大 heap size 又有什麼用? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.238.156.185

02/23 19:06, , 1F
我也覺得64bit是為了能使用更多的memory,跟效能無直
02/23 19:06, 1F

02/23 19:07, , 2F
接關係
02/23 19:07, 2F

02/23 22:44, , 3F
其實還是有用啦,轉移後加RAM的成本可能比打掉重練低的多
02/23 22:44, 3F

02/23 22:46, , 4F
而且執行時間可能是以年為單位,雖然治本但時效...
02/23 22:46, 4F
文章代碼(AID): #1DPAe_Bi (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 4 之 11 篇):
文章代碼(AID): #1DPAe_Bi (java)