請教熟悉 RAMDisk 的高手 ...

目前在 Windows 上大家最常用的大概是 Gavotte RAMDisk 這套,
我有個疑問, 這軟體安裝 ramdisk 後,
既沒常駐也沒藏在啟動或服務、副件等等裡頭,
查 msconfig 也沒看到他的蹤影,
但每次開機 ramdisk 一樣會運作,
所以疑惑來了, 他到底是藏在哪裡啊?!
還是 Windows 本身就有內建 ramdisk 功能,
他只是把他 open 而已, 是這樣麼?!

另外看到一些討論,
說開了 ramdisk 後再把 page file 移進去,
那第二個疑問來了, page file 是彌補記憶體不足用的,
佔了 memory 空間去開 ramdisk,
之後為何又把 page file 放進去呢?
如果記憶體很夠,
把 page file 關了,
直接把記憶體留給程式用不是跑起來更快?
還是說這樣多此一舉是有什麼目的麼?

請教一下高人, 3Q ...
2008-03-21 20:16 #1
wesley_cch wrote:
說開了 ramdisk 後再把 page file 移進去,
那第二個疑問來了, page file 是彌補記憶體不足用的,
佔了 memory 空間去開 ramdisk,
之後為何又把 page file 放進去呢?(恕刪)


利用ramdisk此類的工具把page file掛載到記憶體中,
講白話一點是強迫Page file使用記憶體來運作,因為記憶體資料交換的速度遠比磁碟機利用磁頭讀寫交換資料還要快
通常這類的工具都會有防止記憶體被成堆的快取資料塞爆的設計,可以清出記憶體空間來繼續使用.
> 講白話一點是強迫Page file使用記憶體來運作,
> 因為記憶體資料交換的速度遠比磁碟機利用磁頭讀寫交換資料還要快

我知道, 但若主記憶體夠, 不就就沒必要用到 page file,
打個比方, 譬如原本有 2G 的 ram, 你開了 1G 的 ramdisk,
然後把一個接近 1G 的 page file 丟到 ramdisk 中 (當然還要扣掉 ramdisk 一些),
此時可用的 memory 就等於 1G 的 main memory + 接近 1G 的 page file,
差不多等於 2G,
那如果你不開 ramdisk, 直接 2G 留下來,
此時你就算不開 page file, 你可用的 memory 也是一樣有 2G 啊,
而且少了個 ramdisk 存取的步驟, 跑起來不是更順?
何苦弄了個 page file 然後丟在 ramdisk 中來跑??
是阿...主記憶體夠的話,你是可以不必用到page file.

但是win的記憶體管理程式寫的不怎麼好,隨便跑個程式,記憶體應該就快爆掉了,
你可以不用Ramdisk,但是我會建議你掛載其他記憶體管理的小程式(ex.FreeMemory),來主動清掉暫存在記憶體中無用的資料.
> 但是win的記憶體管理程式寫的不怎麼好

這倒是, 還不是普通的差,
所以我另外用了一套叫 "FreeRAM XP Pro" 的 (不收費的, 免費才是王道)
其實WIN不一定只在RAM不足時才用分頁檔(是在VISTA的使用經驗下啦)
因為我是4G的RAM跑64位元的VISTA
其中分割1G~2G不等做RAMDISK,RAMDISK中至少有1G做分頁檔使用
但是如果在幾天不關機的情形下,VISTA會使用分頁檔
我就常看他慢慢增加使用量,一直到滿...
但是實體的RAM都沒吃完,還是會使用分頁檔
所以應該不是只以再RAM不足時,才會使用分頁檔吧
應該是說有些程式就算記憶體明明很夠用, 他還是要佔用page file, 所以才想辦法把page file也放到ram裡面, 讓這類的程式怎麼用都在ram裡面, 不會被HD速度拖累.
是這樣說的嗎
正是因為會偷吃 page file 的原因,
所以我就乾脆把 page file 關了,
不然只要一存取到 page file,
整個速度都被拖下來 ...

Windows 本身我是不知道,
已發現好幾套軟體有這壞習慣,
在關掉 page file, 強迫他們用 main memory 後,
速度明顯快很多,
也沒遇到執行上的問題 ...

原本還沒注意到軟體在記憶體明明夠的情況下,
還偷偷會跑去用 page file 的問題,
一直以為是本來的記憶體不足,
直到上次擴充記憶體後,
才發現 page file 的存在實在是拖慢速度的原兇 ...
> 應該是說有些程式就算記憶體明明很夠用, 他還是要佔用page file,

實際測試好像是如此,
有的軟體似乎不太會分辨 main memory 和 page file 的差異,
看到有空的 memory 就用 ...


> 所以才想辦法把page file也放到ram裡面,

我覺得這似乎沒必要了,
你記憶體大到夠開個超大的 ramdisk 來放 page file,
何不直接把 page file 關掉不就好了?


> 讓這類的程式怎麼用都在ram裡面, 不會被HD速度拖累.
> 是這樣說的嗎

大家的目的都是這樣,
只是我搞不懂的是?
為何特地開個大的 ramdisk,
然後再把 page file 移進去,
你直接把 page file 關掉不就好了麼?
ramdisk 開個小的來用就行了 ...
剩下的 memory 直接讓程式 I/O 就好了,
幹麻透過 ramdisk?
多繞過一樣東西來 I/O ...

試問是直接對 main memory 來 I/O 快,
還是從 ramdisk 裡的 page file memory 來 I/O 快?
RAM DISK 應用在 Pagefile 主要用意是用在 32bit 的 os
但又想利用到 4G 以上的實體記憶體而生的

目前上機的 OS 還是 32 的 XP 居多(新出的機器數量要蓋過舊有的還需要努力)
實體記憶體跌價的速度比 os 普及的速度快,我還在用 xp32 (xp x64 還是有問題...)
但我記憶體已經插到 8GB 了,總不能叫我剩下的當作沒看到吧?(一半以上耶...)
所以我很當然的把 Pagefile 設在 ram disk 裡面(只設2g)剩下的空間拿來當作整理光碟的暫存區
或跑圖時需要的暫存空間,效率比用 xp x64 直上 8g 還好(這個涉及到軟體的相容性問題,不是 x64 的錯)
限制級
您即將進入之討論頁 需滿18歲 方可瀏覽。
提醒:內容可能因過於寫實、驚悚而令人感到不舒服,是否繼續觀看?

根據「電腦網路內容分級處理辦法」修正條文第六條第三款規定,已於該限制級網頁,依台灣網站分級推廣基金會規定作標示。
評分
複製連結