瀏覽單個文章
twu2
Power Member
 

加入日期: Jan 2002
您的住址: Taipei
文章: 664
可以參考一下, x86-64 在 32/64 之間運作的差別:
http://en.wikipedia.org/wiki/X86-64
以及一般用 c/c++ 在 32/64 之間的差異:
http://www.viva64.com/articles/20_i...t_platform.html

一般來說, 同樣的程式 (不是指同一個 binary), 如果在 32 與 64 之下都重新 build 一次, 在 64 上頭的所用的記憶體空間, 一定是 32 下頭的 1 到 2 倍. 在兩個極端下, 有可能是和 32 一樣, 也可能是兩倍 (當然多數是在這中間).

上頭有人用自己的經驗說兩者用的差不多...
很巧的, 敝公司在之前剛開始由 32 轉到 64 時, 有幾個 java 的程式, 用相同的參數 -Xmx 去跑, 一定會出現記憶體不足的情形, 把 -Xmx 指定一個比較大的數字, 使用較多的記憶體就可以正常執行.

總之, 相同的程式, 在 x86-64 所用的空間, 一定是在 x86 上頭使用的一到兩倍之間.
所以, 如果你是因為裝了 4G 的記憶體, 而 x86 只抓到 3.xG 而想換到 x86-64 上頭, 通常換了之後, 雖然用到完整的 4G, 但是浪費掉的可能更多, 更容易吃掉更多的實體記憶體. 如果用到虛擬記憶體, 效能會比較不好, 也不是不可能的.
__________________

Tommy 碎碎念...
舊 2007-09-24, 05:11 PM #20
回應時引用此文章
twu2離線中