皇極驚世 wrote:搞到最後迷團越來越多...(恕刪) 不管是虛擬的還是實體的記憶體,最後都會 mapping 到虛擬的分頁空間去,程式需要的時候是以分頁的方式配給記憶體空間,實際位置則由 OS 作配置,所以說 pagefile 關掉仍然會看到分頁空間是正常的。
> 問題在於有一種說法說xp就算你設定成關掉pagefile,也會自己偷偷用> 所以才會有把pagefile設在ramdisk的做法> 有沒有比較了解xp的人能夠說明一下呢?若是 XP, 把 page file 關掉, 再把 page file 檔砍了,確定就不會跑去用 page file,XP 也不會再自己重建個 page file 檔出來 ...這百分百確定, 因為我電腦一直是如此 ...但是若你沒把 page file 關掉,在記憶體明明足夠的狀況下,程式有時還是會犯x跑去偷吃 page file,這就是有時為何記憶體已擴充很大,但電腦跑起來還是很 lag 的元兇,因為必須多花時間在 page file 的 I/O 上,若你記憶體夠, 就把 page file 關了,讓他沒得可用, 只能用 main memory,那自然就沒這問題,至於有的軟體沒有 page file 就不能跑,我是沒遇過, 如果有, 也是那少數軟體本身設計的問題 ...就像 photoshop 有的版本會跳出警示語,其用意也是怕記憶體不足跑起來會有問題,但若你本身記憶體就夠大, 那也就沒啥差別,反之, 本來記憶體就不太夠, 而你又把 page file 關了,此時跑 photoshop, 自然就會遇到一些麻煩 ...當然, 要把 page file 砍了, 前題是你記憶體要夠,但若你有多的空間可以去開個大的 ramdisk 或幹麻的,那我想記憶體的大小在你的電腦上應該也不是什麼問題 ...page file 的主要目的就只有一個,那就是主記憶體不夠時拿來延展用,我們擴充電腦的記憶體,其主要的目的也就是希望儘可能讓程式都在主記憶體裡跑,而不是為了來弄個大的 ramdisk,然後把 page file 放到裡頭來跑,這樣做就本末倒置了,(一方可能是最先不知哪個寶貝蛋教人這麼弄, 當時也沒人提異議, 後面很多人就聽進去了...)當然, 你把 page file 弄到 ramdsik 裡頭跑,跑起來肯定比原來在 hd 上跑快,你會覺得效能提升不少, 所以也認為這樣做沒錯,但你回頭想想, 把 page file 關了不就結了?!何況在 ramdisk 的 page file 上 I/O,速度不可能比直接從 main memory I/O 來的快 (雖然差異應該是不大)...且你在 ramdisk 上開 page file,total 的 memory, 也不可能大過原來總安裝的 ram 容量 ...如此做只是繞了一圈來達到所要的目的 ...簡單的問題, 不用把他複雜化 ...至於開 ramdisk, 個人是覺得有必要,但只是為了拿來當 temp 或放一些東西在上頭跑,要是拿來放 page file .... 那就沒什麼意義了 ...
concord wrote:不管是虛擬的還是實體...(恕刪) 原來如此對了電腦王42期2008年一月號98頁有提到關於虛擬記憶體電腦王的說法是不管記憶體多大,WINDOS一定會分配程式區塊到分頁檔中以XP或NT核心為基礎,多人多工理念設計的作業系統,沒理由等實體記憶體用完了才去動用置換檔,以前的WIN98.ME反而比較喜歡將東西留在實體記憶體裡。換言之這就是XP.NT的特性不管怎麼樣,程式執行時一定會動用虛擬記憶體這就是為何就算關掉虛擬記憶體工作管理員卻還是顯示使用中最後感謝各位大大的指導糾正了一些錯誤觀念補充了許多沒學到的知識也複習了遺忘的知識真是獲益良多看來RAMDISK這終極加速只能暫時玩玩將來還是要用SSD比較好畢竟快速之餘還需要能穩定的運作才是終極目標
LeoLee2016 wrote:那這張圖當中,記憶體足夠為何還會用到PAGE FILE ???? 很不幸記憶體足不足夠是由 OS 決定的如果 OS 覺得不夠,那就會將部分內容 swap 到 page file 裡這部分各家做法不同,但原則不變就是在判斷為記憶體足夠的情況下,不會跟 page file 有來往
rockindy wrote:很不幸記憶體足不足夠是由 OS 決定的如果 OS 覺得不夠,那就會將部分內容 swap 到 page file 裡這部分各家做法不同,但原則不變就是在判斷為記憶體足夠的情況下,不會跟 page file 有來往 很可惜在XP下..並不是這樣..有開pagefile...XP都會無源無故都去用...
皇極驚世 wrote:關閉虛擬記憶體之後必須加上手動刪除硬碟裡才不會出現pagefile.sys重開機也不會出現(以XP測試)但是工作管理員卻會顯示用了多少虛擬記憶體真的很邪門...(恕刪) 查了一下微軟公開的資料發現工作管理員所謂的虛擬記憶體欄位是微軟取的別名實際上這個欄位應該稱為 Private Bytes意思是程式使用的記憶體裡被 VMM(Virtual Memory Manager) 認為可以 swap 的大小所以此欄位不代表被 swap 到 page file 裡的大小因為可以 swap,不代表一定會被 swap
> 就是在判斷為記憶體足夠的情況下,不會跟 page file 有來往這點我測試過 n 次了, 很多人以為 main memory 還夠,os 和 program 就不會去吃 page file,實則不然,如果你有用 memory 管理的軟體,你就會發覺這個問題,尤其當你同時載入好幾個 program 時,跑去吃 page file 的情況更明顯,即使 main memory 還有一大半沒用,也是一樣 ...
brex wrote:很可惜在XP下..並不是這樣..有開pagefile...XP都會無源無故都去用... 是的看起來是 XP 的判斷有較獨特的做法可能是跟之前一位網兄說的一樣在一開始將某些內容先 copy 在 page file 裡一份之後如果要 swap out 的話就只要覆蓋記憶體就好了