PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   系統組件 (https://www.pcdvd.com.tw/forumdisplay.php?f=19)
-   -   XP 64bit 比32bit 更吃RAM? (https://www.pcdvd.com.tw/showthread.php?t=746638)

anderson1127 2007-09-23 08:26 PM

這本來就是很正常的!!
以32 bits眼光來看,我可以使用的空間假設為2G好了 , 但是以64 bits的眼光
來看這兩2G的記憶體,就等同於32bits只能夠用1G的空間 !!

所以除非必要,否則沒理由去用64bits的作業系統 ,因為記憶體大小不改變的話
會因為32/64 bits mode因素使得可用記憶體空間變大或者變小 !!

當然會用64bits都是因為performance的因素為主要考量,比如說科學運算等等應用!!

小稜 2007-09-23 08:43 PM

引用:
作者tamiko28409
x64的SP2都弄在一起了~
Service Pack 2 for Windows XP Professional, x64 Edition
http://www.microsoft.com/downloads/...&DisplayLang=en

剛翻了一下我的映像檔,我的是xp x64 sp1......
有點懶的自己整合了...
不知道整合sp2 的xp x64有沒有小點點... :D
please..

virgil 2007-09-23 09:06 PM

你說32XP用了350MB的系統資源...
又說64XP用了600MB的系統資源...
兩相比較之下...應該是32XP 占用比較多吧~!

RogerShih 2007-09-23 09:27 PM

引用:
作者virgil
你說32XP用了350MB的系統資源...
又說64XP用了600MB的系統資源...
兩相比較之下...應該是32XP 占用比較多吧~!


並不是程式轉成 64bits 就簡單的 32Bits Double 上去, 程式碼 complier 成機械碼時所佔空間也許會 double, 但是程式內建的資料就不一定, 這些資料不見得要轉成 64bits 才能處理. 例如文字、圖像等程式內建的資源, 多數以 BYTE 為基本單位, 轉成 64bits 沒意義反而處理更麻煩.

所以不是 32Bits 程式 350MB 轉成 64Bits 就一定是 Double 700MB 了, 因為程式處理的資料不見得是 64 Bits, 700跟600之間的差距就是這些不用轉的程式資料省下來的.

bure 2007-09-23 10:42 PM

引用:
作者anderson1127
這本來就是很正常的!!
以32 bits眼光來看,我可以使用的空間假設為2G好了 , 但是以64 bits的眼光
來看這兩2G的記憶體,就等同於32bits只能夠用1G的空間 !!

所以除非必要,否則沒理由去用64bits的作業系統 ,因為記憶體大小不改變的話
會因為32/64 bits mode因素使得可用記憶體空間變大或者變小 !!

當然會用64bits都是因為performance的因素為主要考量,比如說科學運算等等應用!!

再請問一下
那就是說
同樣硬體配備情形之下
我在32bits使用32bits的軟體 此時RAM抓到3.2G
跟在64bits使用64bits的軟體 此時RAM抓到4.0G
這軟體是同一套,只是有32/64bits的版本,這軟體運作時會需要2.5G的記憶體空間
運算速度的差別只是在32/64bits的不同performance部分

[問題]

但是因為在64bits的時候RAM相對的需求增加,大約要5G
所以這軟體運算時卻因為要一直不斷的寫入暫存結果存到HDD
(寫入速度應該在32/64bits都是一樣的吧?)
那就有可能整體的軟體速度不會上升嗎?

titanic 2007-09-23 11:16 PM

不過個人用過測試機P4 531 3.0Ghz+ADATA 512MBx2 DDR433
跑XP x64實際感覺和XP 32bit記憶體使用量差不多,應該是應用程式還是32bit的關係

冬之炎陽 2007-09-24 02:04 PM

引用:
作者anderson1127
這本來就是很正常的!!
以32 bits眼光來看,我可以使用的空間假設為2G好了 , 但是以64 bits的眼光
來看這兩2G的記憶體,就等同於32bits只能夠用1G的空間 !!

所以除非必要,否則沒理由去用64bits的作業系統 ,因為記憶體大小不改變的話
會因為32/64 bits mode因素使得可用記憶體空間變大或者變小 !!

當然會用64bits都是因為performance的因素為主要考量,比如說科學運算等等應用!!


你的說法已經嚴重誤導對電腦不懂的使用者
我是建議你去研讀作業系統的書籍..... 再來談 32/64 bit 的不同與優劣

taris 2007-09-24 02:31 PM

我在x64的VISTA系統下面寫x64的程式(c++),完全不會有記憶體使用量被double的情況,而且float, int這些型態還是32bits的長度,compiler不會因為是x64就變成64bits的長度.....
而且我用linux x64架設網站,跑Java的網頁伺服器和資料庫,記憶體使用量跟x86是完全差不多的....

我用過winxp x64的作業系統,的確比x86還要佔記憶體,但我認為並非是x86和x64架構的差異所造成的.而且x64的系統要跑x86的程式,還要跑一個WOW64的模擬器,然後同樣的dll程式庫,X86和X64板是完全不能共用的,所以你在X64上跑X86的程式,還要額外載入X86的dll檔,會有很大的額外記憶體負擔~

Yusunu 2007-09-24 03:53 PM

小弟挺認同樓上說法的,64bit為了維持與32bit的相容,還會多運行一個子系統,
作為不能直接用64bit跑的程式的轉換,Windows內就有System32與System WOW64,
好像連Pregram Files都被分成32bit跟64bit,這些都是32bit系統下看不到的。

twu2 2007-09-24 05:11 PM

可以參考一下, 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, 但是浪費掉的可能更多, 更容易吃掉更多的實體記憶體. 如果用到虛擬記憶體, 效能會比較不好, 也不是不可能的.


所有的時間均為GMT +8。 現在的時間是11:33 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。