Re: 64 bit 有比32 bit 好? 還是看圖吧.
※ 引述《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
02/23 19:06, 1F
→
02/23 19:07, , 2F
02/23 19:07, 2F
推
02/23 22:44, , 3F
02/23 22:44, 3F
→
02/23 22:46, , 4F
02/23 22:46, 4F
討論串 (同標題文章)