引用:
作者CIA
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-zh_tw-4/s1-memory-virt-details.html
這篇中文的寫的很好.
有人關掉pagefile會當機,有人不會.(我個人是有3台,以前都關pagefile都沒問題) 這件事我認為是bug, 應該要另外討論.
|
事由此引起,何需另外開版,很簡單的問題,能用就用,不能用就別用,我不過是把可能發生的後遺症說清楚,還有什麼可說的?(就算我不說,問題也不會消失)
引用:
作者CIA
如果單純討論用ram disk 放pagefile會提升效能這件事, 以OS理論上來說是不可能, 並且可能會降低.
(試想: pagefault 發生時, 將ram 的page 與 ramdisk 中pagefile 內的page 做swap; 會快於根本沒發生pagefault嗎? )
|
CIA 兄,很明顯你沒看清楚我
前面所說的,更何況我從沒說過《
pagefault 發生時, 將ram 的page 與 ramdisk 中pagefile 內的page 做swap; 會快於根本沒發生pagefault嗎?》類似的說法,對吧?
基本上不論以 OS 理論還是以 Winodws XP 為對象都一樣,pagefile 放於 RAMDISK 確實會提升程式在運作時的效能,不過這要分兩部份來說。
以 OS 理論來說,除非實體記憶體已耗盡,否則不會使用到 pagefile,在此階段則對 pagefile 做任何調整皆無作用,但當實體記憶體用盡,開始使用 pagefile 時,pagefile 所處的環境便有極大的差距。
以 Windows XP 來說,因為它的運作方式不是依照理論的方式運作,所以 pagefile 置於 RAMDISK 的效果不會依前敘的方式實現;XP 的作法很明顯是將程序的核心完全置於 RAM 中,因為它最沒可能被 Swap out,至於其它部份的的分配方式則是要看 XP 的演算方式而定,我大概做以下幾種情況的推測:
1.分配適當,幾乎沒有 Swap 動作(也許完全沒有)。
2.分配不適,常常存在 Swap 動作。
在 1. 的情況下,pagefile 置於 RAMDISK 上確實效用不大,因為幾乎不會使用到 pagefile;不過在 2. 時可就不同,pagefile 所在的環境會大幅的影響整體的效能。
總結:pagefile 置於 RAMDISK 可大幅提升整體的效能(在使用到 pagefile 時),理由很簡單,目前有比 RAM 更快的儲存裝置嗎?沒有,pagefile 原本儲存在硬碟之上,現在改放置到比硬碟快上百倍、千倍的 RAM 之上,為何不能提升效能?更何況還降低呢!
即使把所有不利因素完全考慮進來,仍看不出 pagefile 置於 RAMDISK 會降低效能的理由。(HD 比 RAM 優越的地方只有儲存資料時的非揮發性及容量大,我看不出光憑這兩點有何能可以讓 HD 能優於 RAM)
再與《關閉 pagefile 》相比,如我
前面所說,沒有這麼大的差距。(所有的 pagefile 動作能用掉幾個指令時間?RAM 之間的複製有多快?這些動作能消耗多少時間?雖然 pagefile 置於 RAMDISK 上沒有直接關閉 pagefile 來得更快,但能慢到哪去呢?)
引用:
作者CIA
所以,如果關pagefile會有問題, 那就開pagefile吧, 但是"理論上"不需多此一舉用ramdisk放pagefile. 只要ram 夠大, pagefault就不常發生, pagefile 就不會經常被access. 事實上,我現在雖然插6GB ram(XP 只抓到3GB). 我還是開1GB pagefile給XP, 希望他把一些佔著茅坑不拉屎的process swap out, 然後讓我有更大的file cache; 至於xp 是否真會如此做...
|
CIA 兄,你這段我真的看不懂你想表達的意思,XP 的記憶體使用方式你若不清楚,可以透過《Windows 工作管理員》稍微了解一些,無論你有多大記憶體,請你到裡面看看 pagefile 的使用情況,比我用嘴說更實在。