• 4

分頁檔不該放RAM Disk ??

看到文章說

分頁檔不該放RAM Disk

行文至此,「該不該把分頁檔放入RAM Disk?」這種常被爭辯不休的問題也應該有個答案。

我們都知道RAM Disk一樣會耗用記憶體空間,而且大部分的RAM Disk都是在一開始就將指定的記憶體空間佔滿,工作集無法被縮減,即使RAM Disk裡完全沒資料也一樣。

分頁檔是用來分散記憶體壓力的,劃出RAM Disk放置它等於是反其道而行,何況分頁檔的尺寸一開始就固定了,這麼做等於是「把記憶體拿來存放空白的分頁檔」,並且提早耗盡可用的實體記憶體,還不如完全不設分頁檔、讓實體記憶體能發揮最大的使用效率

別忘了,分頁檔裡的資料還是得讀回實體記憶體才能被程序存取,不必多此一舉。

=> 很多人說空出RAM 分給 page file 會加快阿..

3種快取最佳化

快取可從3個方面來進行:延遲抹除分頁、延遲寫入硬碟以及優先載入(預先讀取)可能會用到的資料
2013-07-26 16:45 發佈
文章關鍵字 分頁檔 RAM DISK
文章中對於分頁檔的概念還停留在WIN98~WIN2000時代


早年的系統沒有設計快取功能 (WIN98~WIN2000時代)
分頁檔很單純的是在記憶體不足的時候拿硬碟來當作緩衝區
如果記憶體夠大,把分頁檔關掉不會有什麼問題,頂多就是告訴你記憶體不足


後來的系統增加了快取功能,分頁檔也開始加入了系統運作的一部分
有些軟體設計時就會強制使用分頁檔
(程式載入RAM時,有些一次性的檔案會直接丟入分頁檔,而不會放在RAM)
如果把分頁檔整個關掉,這些軟體的運作就會出現異常

既然分頁檔需要存在,那麼就延伸出速度的考量
事實:分頁檔放在RAMDISK中,存取速度一定比放在傳統硬碟中快很多很多
盲點:分頁檔放在RAMDISK中,記憶體的空間使用一定比放在傳統硬碟中多
(真正占用記憶體的是RAMDISK,不管放不放分頁檔,RAMDISK占用的記憶體其實一樣多)
兩個論點都有理由,所以真正問題只是容量的取捨而已

如果記憶體小,可能有記憶體不足的問題,再去切割RAMDISK,不管放不放分頁檔都是多此一舉
例如:WINXP系統RAM不到2GB、WIN7系統RAM不到8GB

如果記憶體大,大到確定系統根本用不完,切割RAMDISK放分頁檔放TEMP都是很合理的加速應用
例如:WIN7系統裝16GB RAM,一般人根本用不完,當然應該要善加利用RAMDISK來做系統加速
分頁檔放 RAMDisk 沒有明顯的感覺(加速之類的),有分頁檔會狂讀硬碟,

在不在意看個人,沒直接證據會害死硬碟,但也沒證據顯示不會,

ram 夠用的話,放 RAMDisk 的好處,大概就是減少硬碟存取,32位元的系統,

記憶體太大也可用放 RAMDisk 的方式設分頁回收 ram 減少浪費,變向的利用所有 ram,

如確定系統 ram 夠用,關掉分頁並不會有什麼影響,

除了有些軟體會指定一定要分頁檔外,沒什麼壞處,不過不夠用時程式就直接關掉了。

人民監督執政黨,黨軍監督在野黨,反綠共你我做起。 原來綠共的台獨,不是要台灣獨立,而是台灣獨裁。
若是RAM Disk後記憶體會不足
那就要減少RAM Disk容量
甚至不該開RAM Disk

若是記憶體多到閒著沒用
拿來RAM Disk放分頁檔又有何不可

其實記憶體不多時
分頁檔放SSD也是一種折中的辦法
雖然沒RAM Disk快
但已比HDD快上不少
分頁檔是可以自動增大的,可以指定一個動態範圍



如上圖:起始 512MB,最大 2048MB

就是說:
一開始 pagefile.sys 就會配置 512MB 大小。(佔用 512MB 空間)

而如果不夠用,windows 會自動增大,直到指定的最大限制 2048MB。

起始不宜設太小,比如 256MB 就太小。會引發 C++ Runtime 之類的錯誤,可能是 pagefile 不夠用引起的。


為什麼即使記憶體有 32GB,仍是要設定「分頁檔」?

這個就要從 windows 「老症頭」講起了。

windows 這套作業系統,是不允許 SWAP 為 0 的。


w2k 的時候,還能設 0。但從 XP 之後都有分頁檔"允許最小值"的限制:比如 2~16MB 之類的。如果設 0 或全部關閉,windows 是不接受的,按了確定也沒用,它不儲存,並且告知必須更改大小。

再來一點是:
就算記憶體有好幾百GB,windows 仍是會去吃 pagefile。有這樣子的現象。

可能最早 windows 在設計的時候就有一些歷史包袱。之後為了相容,只能把這個缺陷代代傳承下去。

比如就算最小-最大設 16MB(它允許的最小值),事實上,如果不夠用,windows 會在背景後台自己偷偷開啟更大的,具體表現就是電腦會短暫中風(因為在大量寫入磁碟)。

去檢查 pagefile.sys 大小的話,就會發現 windows 會偷開分頁檔(無視使用者的設定)。

像 unix-like 系統,就能真正 swap 設 0。如果設 0,系統就絕不會去使用 swap,即使記憶體不足當機也不會去用。不過它不會當機,只是程式會當掉。

**************************************************

SSD 不宜放 TEMP、SWAP、PageFile 之類會 "頻繁寫入" 的東西。

因為我們知道快閃記憶體有寫入壽命

比如:
MLC 顆粒約 5萬次寫入壽命。
SLC 顆粒約 10萬次寫入壽命。

就是說:同一位址如果寫入 5萬次,該位址就報銷了。

所有賣 SSD 的廠商,都不敢終身保。因為那是耗材,一開始就註定有壽命期限。

Temp 是暫存檔,應用軟體會經常性把資料暫存在上面,亦即會經常性寫入。

SWAP、PageFile 基本上就是拿磁碟當 RAM 用,這種寫入次數會更頻繁,一天可能就寫入幾千次。然後很快的,快閃顆粒位址就會報銷。

當然 SSD 主控晶片,會去打散每次寫入的位址,不會讓同一位址一直連續寫入。

不過那只是延緩報銷的時間而已,以這樣大量的寫入次數來說,仍是會加快整體的報銷速度。

當 SSD 塞愈滿時,主控晶片能分配打散的空閒位置就會愈少。因為它總不能去覆蓋已經有資料的位址,把資料給蓋掉了。這樣子剩餘的空間報銷的機率就會更高。

位址報銷,理論上不會整顆壞掉,只是會標示位址損壞,然後容量開始縮水。通常會有多餘的備用空間位址,去頂替損壞的位址,例如比標稱的大小多 5~10% 做備用位址。而備用的位址都用光的話,可能就壞了。因為分割區是固定大小,即便其餘位址仍可使用,但邏輯上會發生錯誤,系統會以為硬碟壞軌。(推測應該是這樣啦)

如果在保固內報銷那還好,可以換新。
但就怕保固剛過才報銷。說不定廠商都算好好。
分頁檔理論上可以放

但是我個人遇過ramdisk程式bug,在win7開機時無法正常建立分頁檔,導致無法進入windows,所以現在我都不這樣用,ramdisk只放瀏覽器暫存檔跟一些手邊需暫存的文件檔案而已

xu.6 wrote:
分頁檔理論上可以放但...(恕刪)


Primo Ramdisk Ultimate Edition

這個ramdisk放分頁檔沒有問題,
我win7 64bit,32g ram割25g給ramdisk用,
分頁檔開1 GB
fedora wrote:
SSD 不宜放 TEMP、SWAP、PageFile 之類會 "頻繁寫入" 的東西。

因為我們知道快閃記憶體有寫入壽命...(恕刪)


我 google 舊文 http://www.mobile01.com/topicdetail.php?f=490&t=1930183&p=2

tenz9596 大大說的:

找到這篇文章

不應該將pagefile放在SSD上!?!?

根據Microsoft的Engineering Windows 7 Blog,大多pagefile的存取都是細小的隨機讀取和比較大的連續寫入,這正是非常適合SSD特性的。而pagefile的讀取和寫入比例大約是40:1,而讀取是不會影響SSD壽命的。Microsoft指出pagefile比絕大部份其他檔案更適合放在SSD上,而pagefile的寫入比較其他日常作業相比實在太微小。所以關閉/移動pagefile是非常不智的。


http://blogs.msdn.com/b/e7/archive/2009/05/05/support-and-q-a-for-solid-state-drives-and.aspx


這幾天類似文章~調整後感覺,好像都沒差~搞得頭昏看眼花!

官方說的也是....

微軟官方有份文件分析page file的特性

pagefile.sys放在ssd裡才是最適合的
可否請問一下有什麼程式是一定要用到分頁檔的?
我關了好幾年了,貌似都沒發生什麼問題

另外Linux的SWAP置換空間(類似Windows的分頁檔)也並非必須

只要記憶體(Main Memory)夠大,就不需要再使用額外記憶體(這裡指除了Main Memory之外的儲存裝置)來當作虛擬記憶體(Windows上的講法)了吧?

感覺把分頁檔放在RAM Disk裡是很奇怪的作法,除非是32位元的系統無法用滿實體記憶體,或是真的有程式一定要分頁檔(有這種程式?!沒看過,請解答~)。

messengerses wrote:
或是真的有程式一定要分頁檔(有這種程式?!沒看過,請解答~)。


大部份都是繪圖軟體

會聲會影啊,舊版photoshop啊,photoimpact啊…

photoshop 記憶體不足解決方法
  • 4
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?