倍可親

回復: 2
列印 上一主題 下一主題

修改註冊表發揮大內存優勢

[複製鏈接]

1萬

主題

1萬

帖子

1萬

積分

八級貝殼核心

倍可親終生會員(廿一級)

Rank: 5Rank: 5

積分
18033
跳轉到指定樓層
樓主
kent 發表於 2007-8-25 09:23 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
 現在請打開註冊表編輯器,找到[HKEY_LOCAL_MACHINE System CurrentControlSet Control Session Manager MomoryManagement],在右側窗格修改一下鍵值。要注意的是,做以下設置的前提是內存最好超過512MB,並僅限於Windows 2000 / XP。



  (1)"LargeSystemCache"(啟動大的系統緩存):

  在內存中開闢一塊大的內存空間用於磁碟文件系統的預讀取操作。當程序連續請求的數據增加時,Windows通過系統緩存自動預讀,使程序能以最快速度獲取所需數據。由於啟用這個系統緩衝會佔用較多的物理內存,使得能被程序利用的可用物理內存減少。將其值設為1。這樣,系統緩存從4MB增加到8MB。

  (2)"SecondLevelDataCache"(提高cpu性能):
  
  CPU的處理速度要遠遠大於內存的存取速度,而內存又要比硬碟快得多。這樣CPU與內存之間,內存與磁碟之間就形成了影響性能的瓶頸效應,前面的"LargeSystemCache"是為了緩解內存與磁碟瓶頸而設計的,而CPU為了能夠迅速從內存獲取處理數據也設置了一種緩衝機制L2 Cache(二級緩存)。調整這個鍵值能夠使Windows更好地配合CPU利用該緩存機制獲得更高的數據預讀取命中率。建議將其設置為512。

  (3)DisablePagingExecutive(禁用頁面文件):

  將其值改為1(十六進位),這樣將使所有程序和數據強制性限定在物理內存中運行,而不是使用虛擬內存。很明顯,當有足夠多的物理內存來完成所需任務時,這樣做必使系統性能得到巨大的提升。對於內存僅有64MB的用戶而言啟用它或許就是災難——系統頻繁出錯,直至崩潰。

  (4)"IOPageLockLimit"(定製輸入/輸出緩衝尺寸):

  輸入輸出系統是設備和微處理器之間傳輸數據的通道,當擴大其緩衝尺寸時數據傳遞將更為流暢。同理,具體設置多大的尺寸要視物理內存的大小和運行任務多少來決定,一般來說,如果內存有64MB就可將該雙位元組鍵的16進位值設置為400(1MB)、800(2MB)或1000(4MB)128MB內存可設為1000(4MB)、2000(8MB)或4000(16MB);256MB內存4000(16MB)或8000(32MB)。當然如果有更多內存,完全可以將其設為10000(64MB)甚至更多。當設為0時,Windows將自動配置。

  設置這些之後,重啟系統即可。其實修改這些的效果並不是很明顯,不過心理上總有個安慰吧,下面的才是讓你感到質的飛躍的地方。

  利用虛擬硬碟軟體

  這裡要向大家介紹一個軟體,RAMDisk Plus,這個軟體就是把內存的一部分劃分出來作為一個磁碟分區用的,你可以把一些臨時文件夾轉移到這個分區上,比如IE的臨時文件夾,這樣會大大提升你瀏覽網頁的速度。內存的傳輸速度和硬碟的傳輸速度的差距我想大家都清楚吧,用內存的一部分作硬碟相當於添加了一個幾十萬轉的硬碟,速度的提升可想而知。這個是我的親身體會,我把我的內存中的100M劃出來作為一個分區,然後把IE的臨時文件夾挪到上面,重啟之後,打開網頁就是一瞬間,以前即便是在網速很好的半夜,也沒有這麼快的,看來很多時候網速不是瓶頸,機器才是瓶頸啊,尤其是那些圖片較多,需要緩存的網頁,大家可以試試。劃出這100M內存之後,我現在的正常可用內存還保持在500M以上,還有好多空間啊,好在RAMDISK plus可以添加多個分區,我可以再劃出來幾個分區,然後把一些常用程序放進去,這樣運行起來肯定也快多了。

  不過記住,內存掉電后裡面東西就都沒了,但是還好,Ramdisk plus提供了關機自動保存的選項,也就是關機的時候可以把虛擬硬碟分區中的東西保存到實際硬碟分區中你指定的地方,然後開機的時候再load回來,跟休眠的道理差不多啦,只是這樣就會導致關機時間和開機時間變得很長,所以我建議只在虛擬硬碟分區上放臨時文件,反正臨時文件遲早是要被清空的,放到ramdisk上還省去了手動清空的麻煩。

0

主題

1108

帖子

225

積分

貝殼網友一級

Rank: 3Rank: 3

積分
225
沙發
ak-74 發表於 2007-8-28 21:18 | 只看該作者
回復 支持 反對

使用道具 舉報

11

主題

197

帖子

69

積分

貝殼新手上路

Rank: 2

積分
69
3
guanjinman 發表於 2007-8-29 05:10 | 只看該作者
至於裡面的第2、第3點有不同說法:

【修改二級緩存能否改善性能?】
我們在微軟的知識庫中找到了如下的內容:「HKLM\SYSTEM\CurrentControlSet\Control\Session&nbspManager\Memory&nbspManagement」中的SecondLevelDataCache鍵的值只有在Windows&nbspXP系統從硬體抽象層(Hardware&nbspAbstraction&nbspLayer )讀取CPU二級緩存(L2)失敗時才會讀取SecondLevelDataCache鍵的數據。而且SecondLevelDataCache鍵值=0的意義是二級緩存為256KB。

  在一篇知識庫文章中我們還找到了「Do&nbspnot&nbspchange&nbspthe&nbspSecondLevelDataCache&nbspentry 」這樣的話,在文章中指出一些第三方資料宣稱修改SecondLevelDataCache鍵的值可以提高系統性能是不正確的。二級緩存的數值是由操作系統檢測並且完全不受SecondLevelDataCache值的影響。

  從微軟知識庫的文章中我們可以看到,所謂的Windows&nbspXP系統需要用戶手動打開二級緩存這種說法是錯誤的。Windows&nbspXP系統是根據硬體抽象層讀取CPU的二級緩存數值。只有在讀取失敗時才會讀取SecondLevelDataCache的值,而且SecondLevelDataCache的默認數值0所代表的意義就是二級緩存為256KB,而不是表示關閉。所以CPU的二級緩存在任何時候都是開啟的,用戶沒有必要再自行修改。
【要不要禁用虛擬內存】
其實不管內存多大,禁用虛擬內存始終感覺不妥。因為Windows本身的設計就是,一旦發現有進程轉入不活躍狀態,就會把分配給它的內存空間映射到交換文件中,儘可能空出物理內存給其它活動的線程,並不是用完物理內存才開始動用交換文件。因為如果等到物理內存用完再調用,就已經太遲了,在配置較低的機器上勢必造成數據傳輸和處理停滯。所以禁止虛擬內存從原則上來講,最容易引起Windows異常,即使不出現運行不了的故障,也會頻繁地提示虛擬內存不夠。

我個人還是比較喜歡內存虛擬成磁碟的工具
回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 註冊

本版積分規則

關於本站 | 隱私權政策 | 免責條款 | 版權聲明 | 聯絡我們

Copyright © 2001-2013 海外華人中文門戶:倍可親 (http://big5.backchina.com) All Rights Reserved.

程序系統基於 Discuz! X3.1 商業版 優化 Discuz! © 2001-2013 Comsenz Inc.

本站時間採用京港台時間 GMT+8, 2025-8-3 15:31

快速回復 返回頂部 返回列表