2008-11-10

升級 4GB 記憶體

自從記憶體狂跌以來,身邊開始有人陸續升級或預設裝機到 4GB 記憶體,很多人先入為主、以為記憶體越多越好,可是發現裝滿 4GB 其實差別不大(系統還抓不到那麼多),雖然不貴但也不能這樣浪費啊!慢慢開始有雜誌和 Blog 介紹 4GB 這個神奇數字,但還是很多人搞不清楚、不會用。我家裏的電腦其實已經裝到 2GB、算是目前主流的記憶體大小,明知差不了多少卻還是想升級,還好懶性使然(懶得作功課、拆機和設定),人家鼓吹再好都無動於衷。但之前的連假,想說無聊的話可以裝一下,沒啥意識地又打開了 PChome,啥?本來創見只有 Jet RAM 下殺到九百以下(Jet RAM 系列據說是用比較便宜的顆粒,良率較低,雖然有終身保固,但如果故障是要「送修」的,不能臨櫃當場更換),現在連主流型號都跌破一千了,「不小心」就點了 24hr 購物,隔天一大早 9:30 貨就送到了。

買之前用 CPU-Z 先確認機器裡的記憶體資訊,當然是選同型號、同品牌的一起工作比較穩當。主機上插的是兩條創見 DDR2 800 1GB,也想過是不是再買兩條跑雙通道卡好,不過實際上差沒多少(少到一點感覺都沒有,但比較貴),所以就直接買一條 2GB 的。進到 BIOS 看到的資訊,抓到的是 3348 MB,進到 Windows XP,系統資訊顯示的是 3.25 GB,嗯,還好作過功課、知道這樣算是「正常」,開始跑些軟體測試(打個電動)、重開幾次觀察,確認都沒有不正常現象,這條 RAM 應該是沒問題了(因為記憶體良率明顯比以前低,所以先反覆燒機測試還挺重要的)。

之所以插了 4GB,但在 BIOS 和 Windows 都看到不滿 4GB 的原因,要從硬體和體兩個地方來看。硬體之所以沒認到那麼多,是因為需要保留一些記憶體空間讓主板和週邊硬體溝通使用(這塊叫 MMIO,Memory Mapped I/O),所以就算你的主板有「支援」、能插到 4GB 甚至更多(新的主機板甚至支援到 16 GB、而其他大部分 915/945 以後晶片組還能支援 4 GB,P4 以前的電腦就殘念了吧),顯示時硬會縮水一些。沒關係,硬體識別的問題,開完機交給軟體(作業系統)處理總可以吧,能「用到」才最實際嘛!但很不幸的,Windows 在 32 位元的限制(管你是 XP 還是 Vista),最多只能定址 4GB (2 的 32 次方,硬體支援到多少都沒用),其中還將使用者模式的程式「限制」在其 2GB 的定址空間內(XP 可以在 Boot.ini 裡下 /3GB 參數調整,但調整的話聽說會影響到核心記憶體的配置和穩定性),所以就算你「看到」 3.25 GB ,跑應用程式也不會比較快,多插就真的是看爽的!當然真正的王道,就是徹底擺脫 32 位元的桎梏,去安裝 64 位元的 XP 或 Vista,但,作業系統上的其他軟體,也都要使用 64 位元或相容的版本,軟體的取得和測試使用對一般人來講會造成很大的困擾啦~所以結論就是,只要你用 Windows XP/Vista 32 位元版本,就算電腦再新、記憶體裝到 4GB 甚至 16GB,作業系統最多也只用得到一部分,多的部份就浪費了。

據友人回報,用 Vista 升級到 SP1,機器可以看得到 4GB(我不用 Vista 所以不得而知),不過根據 M$ 官方弔詭的說明,「系統將會報告已安裝 4GB 的系統上具有 4GB 的記憶體」,哇哩,系統會「報告」可不代表能使用啊!最簡單的判斷方法,就是使用「工作管理員」、切換到「效能」的標籤,看看右下方「實體記憶體」的資訊,總共的數量(可用加上系統使用的部份)才是真正使用到的部份,因此即使 Vista 升級到 SP1,還是有部份記憶體是蒸發掉的。

廢話講完,本文重點是「怎麼去用到所有的記憶體」,雖然上面的結論說:只要是用一般的 XP/Vista,作業系統就只能看到 3GB 多(還不保證都用得到),那還有什麼搞頭?很簡單,只要使用能定址到完整的 4GB 的軟體、並且把作業系統認不到或閒置的部份拿來作其他應用,進而加快電腦的速度,這才是升級加記憶體的目的!解決辦法同樣要從「硬體」和「軟體」兩方面著手。上面提到有 MMIO 的限制,但對此 Intel 也有因應之道,搞了一個 Remapping 的機制,允許軟體透過該機制去認到所有的記憶體空間,所以去翻翻主板的說明書,看看有沒有像是 Memory Remapping、或實體位置延伸 PAE (Physical Address Extension) 的選項支援,在 BIOS 裡面先打開它。在我的主板 Asus P5B SE,選項是在晶片組設定 (Chipset) -> 北橋(管記憶體控制的, North Bridge Chip) -> Remapped Memory Feature,我預設是關閉的,先 Enable 它。搞定硬體,接下來開機進到作業系統,也要打開對 PAE 的支援。原先 XP SP1 是啟動的,後來都關起來,所以要手動去打開。進到「控制台」->「系統」,切換到「進階」分頁,設定「啟動及修復」的選項,去編輯「系統啟動」的設定檔(直接編輯 C:\boot.ini 也可以),在最後加上 /PAE 的參數,重新開機就行了(作業系統 PAE 有沒有開成功,可以用軟體 EVEREST 來查看)。到此,軟硬體對 4 GB 以上記憶體支援算是做完了,但別奢望這時候會「顯示」系統有那麼多記憶體,因為作業系統還是看不到、MMIO 的限制還是在,接下來要透過能藉由 PAE 去使用那些未配置記憶體的軟體,才能實際用到所有記憶體空間。

我知道的這種軟體有兩類,第一種是把記憶體模擬成硬碟的 Cache,用來加快硬碟存取的速度,第二種則比較單純,透過長久以來就有的 RAM Drive 技術、把記憶體空間模擬成一個超高速的實體硬碟,如果把檔案放在上面,讀寫都會有很高的效能!第一類我沒去試用,從 PCADV 雜誌上得知,像是 O&O CleverCacheSuperCache,類似以記憶體模擬硬碟 Buffer,可以增快原有硬碟讀寫的效率,但其風險就是緩存越大、不小心跳電或啥突發狀況發生,系統以為應該已經寫入硬碟但還在這塊緩存上的資料就會不翼而飛,輕者檔案損毀、重者開不了機啊~這些個軟體都要錢,用破解不穩的話更慘,所以我還沒勇氣嘗試。第二類就很常見,因為從小時候就有用記憶體模擬成磁碟機的應用(DOS 開機片裡就有),技術算是很成熟,像是 QSoft RAMDiskGavotte RamdiskCENATEK RAMDisk 等等,站在人多的地方最安全,所以我也是挑免費、程式免安裝又小的 Gavotte。該軟體的使用和教學文章多如牛毛,可以參考下面這幾篇:

無聊人的無聊小站 - 實用軟體介紹 - Gavotte Ramdisk
Ramdisk 實裝大容量記憶體
Gavotte Ramdisk 免費「虛擬硬碟」使用教學

請注意,並不是裝了這個軟體記憶體就都能充分使用,或是電腦馬上會變快啊!裝完以後開始使用,預設會多個虛擬出來的硬碟機(R:\),接下來應該先去「驗證」一下,到底前面說的 PAE 有沒有效果、總共可用的記憶體式不是增加了!一樣直接使用「工作管理員」、切換到「效能」的標籤看看實體記憶體的變化。首先是沒裝 Gavotte Ramdisk 的狀況:

總共實體記憶體(XP 認得到的)有 3407020KB (~3.5GB),約莫等於「可用」加上「系統」已使用的部份(2979263KB + 363600KB,這樣有 512MB 直接浪費掉,那些「可用」的還不一定會用到),如果我用 Ramdisk 割個 768MB 的磁碟機,但是忘記打開主機板對 Remapped Memory 的支援:

這時候可用記憶體加上系統已使用的部份(2197892KB + 492584KB = 2690476KB),和實體記憶體比較竟然短少了七百多 MB (3407020KB - 2690476KB = 716544KB),哇哩!我割出來的 Ramdisk 是直接從那 3.5GB 上挖,不是從完整的 4GB 上弄啊!沒仔細檢查的話,那 512MB 還是白白浪費在那邊,不要以為裝了 Ramdisk 就一定有充分用到記憶體啊!最後,我去主機板那邊打開選項、又確認了作業系統應該做的調整,這時候我直接割個 1GB 的記憶體來做 Ramdisk,結果如下:

可用記憶體加上系統已使用部份將近 3GB (2728440KB + 367456KB = 3095896KB),別忘了,我還有一個 1GB 空間的 R: 哩!這樣實際使用到的記憶體空間才有紮實的 4GB 啊!到此,才算是「充分」用到所有記憶體,但,這樣電腦用起來也不會比較快,我們要利用這個記憶體做出來的磁碟機,來增加電腦使用的速度。

上面有提到,用記憶體虛擬出來的磁碟機有讀取和寫入超快的優勢(不信的話,可以用 HDTune 測試一下),只要把系統或軟體需要頻繁存取的目錄和檔案設定到這台磁碟機上,這樣不就能加快上網或開機的速度?這裡整理一下常見能更改設定的選項:

系統 - 暫存目錄
我的電腦 -> 滑鼠右鍵 -> 內容 -> 進階 -> 環境變數,去修改「使用者」和「系統」的變數,編輯所有 TEMP 和 TMP(總共四個),把變數值改到你的虛擬磁碟機下面 (ex: R:\Temp,這裡有操作畫面),重新開機後系統預設的暫存檔目錄就會在這個高速磁碟機裡,重新開機檔案都砍掉也沒關係(還可以減少硬碟空間的浪費)。
系統 - 拿硬碟虛擬成記憶體的分頁檔
我的電腦 -> 滑鼠右鍵 -> 內容 -> 進階 -> 效能 -> 設定 -> 進階 -> 虛擬記憶體 -> 變更,預設分頁檔是在 C:,先點選 C: 然後選擇「沒有分頁檔案」-> 設定,這是先取消 C: 的分頁檔,然後選擇虛擬磁碟 (R:)、勾選「自訂大小」,裡面的起始值和最大值視你虛擬磁碟的大小決定(有就行了,大沒有用..),一樣要重新開機才能生效(這裡一樣有操作畫面)。把分頁檔放到虛擬磁碟機有沒有風險、速度會不會變快到現在還眾說紛紜,分頁檔的大小設定也和個人的應用有很大關係(也有人主張記憶體大關閉分頁檔算了),我自己感覺放分頁檔過去並沒比較快(因為我很少長時間開機、實體記憶體都用不完了),又怕有不穩定的疑慮(我常愛用「待命」或「休眠」模式),所以分頁檔就不放過去了。
上網 - IE
開啟 IE -> 工具 -> 網際網路選項 -> 一般 -> Temporary Internet files -> 設定 -> 移動資料夾 (ex: R:\Temp),更改完電腦會要求你登出系統才能生效。這是用來暫存上網檔案的目錄,如果改到虛擬磁碟機上,高速的讀取和寫入對上網速度多少都有一些幫助(一樣可以減少硬碟空間的浪費,這裡有設定畫面)。
上網 - Firefox
在網址列敲入 about:config 開啟設定頁面,尋找 browser.cache.disk.parent_directory,雙擊項目更改內容,目錄改到虛擬磁碟機下面 (ex: R:\Temp),這是 Firefox 暫存上網檔案的目錄,另外 Firefox 的預設下載目錄也可以改,在工具 -> 選項 -> 主要 -> 下載,設定全部檔案儲存的所在目錄,重開 Firefox 就會生效 (ex. R:\,以上這裡有設定畫面)。如果你的 Firefox 也有用  FlashGot ,也可以設定暫存目錄,在工具 -> FlashGot -> 更多選項 -> 進階 -> 暫存目錄更改設定即可。

最後報告我用 4GB 一段時間以來的心得。說實話,的確有變快的感覺,但是,絕對沒有到什麼開機只要幾秒、或是什麼程式咻一下就可以開啟完畢的,每個人的環境都大不同,玩的和開機啟動的程式也都不一樣,增加再多的記憶體、開再大的虛擬磁碟機,還是避免不了資料從硬碟讀出來放進記憶體的 I/O 瓶頸,就算你 CPU 有三頭六臂、主機板晶片組再新再強,還沒有換顆高速硬碟速度提昇來得明顯。無奈硬碟速度的提昇有其機械構造的限制(萬轉以上的高速硬碟也不是一般人負擔得起的),各界引頸企盼的固態硬碟 (SSD) 在價錢和信賴度上也還有問題,作業系統和軟體又一直往花俏、肥大的方向前進,增加再多系統資源只是為了因應更多的浪費,怎麼調整加速都好像只是杯水車薪。除了硬體的升級,要延長重灌的週期、保持開機和操作的速度,作業系統和軟體的使用習慣和調校也很重要,一昧只是追逐硬體,效果應該還是有限的~(錢太多的人例外....)

回應: 1

通達人 提到...

我老早就想裝4G了,不過看來沒有多大的用處,還是算了吧!

張貼留言

歡迎隨便亂哈啦留言或發表意見,不過要理性不做人身攻擊~匿名的朋友得到回應的速度會比較慢喔~
請注意發問相關的禮貌和規矩,不當留言、和本文無關的回應可能會被直接刪除無視喔!