2013-05-26

[Tip]Ramdisk要是超過4G,要怎麼讓pagefile運用全部的Ramdisk空間

在Windows XP 32bit版這類不能利用超過4GB記憶空間的系統,大多數的使用者會加裝支援PAE的Ramdisk軟體(如Gavotte Ramdisk),把剩下的記憶體空間變成虛擬磁碟。為了能夠有效地利用這個虛擬磁碟空間,使用者會把分頁檔pagefile.sys放在這裡,讓系統的記憶體總空間得以超過4GB,變相地讓在Windows XP 32bit支援超過4GB的記憶空間。

但只要主記憶體超過6GB多,就會造成分出來的Ramdisk總空間大於4GB。而pagefile.sys單檔大小又不能超過4095MB,用GUI介面設定pagefile時也不能在同一個磁碟建立2個以上的pagefile.sys,若電腦內那些能自行建立暫存檔的程式,還不能把剩下的Ramdisk空間完全用掉,那麼從實體主記憶體要來的Ramdisk空間就形同浪費了。

所幸,Windows XP 32bit版可以在同一個磁碟建立2個以上的pagefile.sys,只是光靠GUI介面並不能指定這種配置方法,必須用regedit手動更改Windows register設定。

方法很簡單:

首先啟動regedit程式。找到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
這個路徑。

接著在這個路徑內尋找PagingFiles這個型態為REG_MULTI_SZ的變數。找到後,點2下打開編輯對話框,輸入:
Z:\pagefile_01.sys 4095 4095
Z:\pagefile_02.sys 4095 4095
Z:\pagefile_03.sys 4095 4095
按下Ok。

如果要改變各個pagefile.sys的最小值,請把每列的第1個4095改成你要的大小(以MB為單位);如果要改變最大值,則是把每列的第2個4095改成你要的大小(以MB為單位)。
要把8GB左右的Ramdisk空間幾乎用完,就得開2個pagefile.sys;要把12GB左右的Ramdisk空間幾乎用完,就得開3個pagefile.sys,以此類推。

重開機後,若是看到記憶體總空間多出來,而Ramdisk內也有2個以上的pagefile.sys,就代表設定成功了。

若是嫌麻煩的話,也可以自己匯出register設定檔:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"PagingFiles"=hex(7):5a,00,3a,00,5c,00,70,00,61,00,67,00,65,00,66,00,69,00,6c,\
  00,65,00,5f,00,30,00,31,00,2e,00,73,00,79,00,73,00,20,00,34,00,30,00,39,00,\
  35,00,20,00,34,00,30,00,39,00,35,00,00,00,5a,00,3a,00,5c,00,70,00,61,00,67,\
  00,65,00,66,00,69,00,6c,00,65,00,5f,00,30,00,32,00,2e,00,73,00,79,00,73,00,\
  20,00,34,00,30,00,39,00,35,00,20,00,34,00,30,00,39,00,35,00,00,00,5a,00,3a,\
  00,5c,00,70,00,61,00,67,00,65,00,66,00,69,00,6c,00,65,00,5f,00,30,00,33,00,\
  2e,00,73,00,79,00,73,00,20,00,34,00,30,00,39,00,35,00,20,00,34,00,30,00,39,\
  00,35,00,00,00,00,00
往後要復原設定時,把register設定檔匯入,重開機便可生效。

[PyConTW 2013]懶人とPythonとAnimation Studio

下面是我在PyConTW 2013給talk的投影片內容:
懶人とPythonとAnimation Studio

本來是想說鍛練自己在大場面的演說能力,剛好看到PyConTW年會又要舉行了,於是就心血來潮,以工作上的經驗報個題目來試試,沒想到還真的得上台給talk XD

基本上相對於Django,AppEngine用很兇或是把Python Parser與VM玩弄於股掌之間的的高手而言,小弟還只是個小咖。如果這次talk有什麼不足之處,歡迎各方高手多給小弟建議 <(_ _)>