SOGO論壇
  登入   註冊   找回密碼
查看: 2349|回覆: 2
列印 上一主題 下一主題

[教學] WIN7調教攻略以及常用技巧——記憶體篇 [複製連結]

Rank: 2

狀態︰ 離線
跳轉到指定樓層
1
發表於 2013-7-7 20:10:20 |只看該作者 |倒序瀏覽 | x 1
WIN7調教攻略以及常用技巧——記憶體篇

內存篇:
其實在說起計算機優化,內存優化是一個重點。
這裡必須參考一個參數,就是系統是x86環境還是x64環境。
兩個環境必須考慮兩個環境下不同的情況。不過先從兩邊共通的情況講起吧。

系統緩存(頁面文件):

對於系統緩存其實很多人不知道這個玩意兒到底是用來幹嘛的,只是單純的知道是內存的臨時替代機制。
但是在WINDOWS系列的操作系統中,頁面文件的分配方式為只要長時間不調用的內存塊在主內存需要新的內存時,不調用的塊就被寫入系統緩存。
說白了,系統緩存也就是內存的替代品,但是系統緩存是寫於磁盤上的,磁盤和內存的速度差是幾十個倍,所以實際上在內存足夠的情況下使用系統緩存只會浪費計算機效率。
但是在WINDOWS系統下系統緩存是必須存在的(某些程序設計時強制調用了系統緩存),不過在關閉系統緩存的情況下,這些必要的系統緩存的存在方式被改為了在主內存塊中虛擬一個區域用於存放系統緩存。
那麼這裡就是重點了,要怎麼配置和設置系統緩存。
上面提到了,系統緩存一般是設置在主系統分區的。但是系統緩存會帶來大量的磁盤讀寫操作,造成硬盤的負擔,並且上面也說過硬盤和內存存在巨大的速度差,所以實際上打開系統緩存是萬不得已而為之的操作。

這裡存在這麼2個誤區:

1.系統緩存不宜放在主系統分區
這個邏輯是錯誤的,當然在你擁有2塊或以上硬盤並且非陣列的情況下這句話就沒錯。
但是只要你只有一塊硬盤,或者有多塊硬盤但是是陣列的情況下,系統緩存是適合存放在主系統分區的。
因為大部分的情況下頻繁進行讀寫操作的分區都是主系統分區,在這塊分區下磁道已經是處於一直再被讀取寫入的狀態。
這裡就有人會提問了,既然主分區平時都要大量的讀取和寫入了那麼把這又需要大量讀取寫入的文件存放於主分區豈不是更影響效率。
其實這個概念是錯誤的,在你只擁有一塊硬盤的情況下,無論你把文件存放在哪一個分區進行的讀寫操作都只是在一塊硬盤上操作,無論你把文件放在哪個區都脫離不開這只是一塊硬盤的局限。
但是為什麼要放在主分區呢?這裡涉及到硬盤的尋道問題。
對於平時就一直在進行工作的主分區,磁頭本身就一直在工作不需要經過重新尋道。而如果放在其他分區的話,當磁頭需要轉過去讀寫該分區的文件的時候,就必須在磁盤上重新對該分區進行尋道,這樣無形之中就浪費的效率。所以頁面文件還是存放在主系統分區內比較好,當然系統分區要有足夠的空間。

2.系統緩存越大越好
這個理論也不知道哪個神提出來的,查一下竟然還在網上氾濫成災……
嘛,上面說過了,系統緩存會大量的對磁盤造成讀寫操作,而且磁盤讀寫操作的速度遠遠低於主內存。
不過實際上在設置的時候有一個技巧,就是設置虛擬內存最小值,一般虛擬內存建立的時候都會按照你設置的最小值進行建立,在日後發生最小值的虛擬內存不足時系統才會自動一點一點的向上提高虛擬內存大小。所以一般建議虛擬內存最小值設置256M,至於很多人會問為什麼不設置16M或者更小,其實你自己去測試一下就知道了。
假設你設置的虛擬內存是16-512,基本上在你開機以後虛擬內存就已經被提到了200M左右。

對於系統內存的主要的兩個誤區就在這,誤區解決了,下面就開始講怎麼設置系統緩存才合適。

實際上,對於主內存大於或等於4G的PC來說,是可以完全關閉掉系統緩存的。
尤其是x86環境的計算機,因為x86環境如果不通過BIOS地址映射之類的危險方法進行內存訪問的話,系統自己是無法讀取4G以上的內存的。
實際上4G都讀不到,算上系統硬件佔用的地址值,大部分情況下x86系統能夠訪問的內存極限就是3.5個G左右,
上面也提到了,虛擬內存也就是不經常訪問的內存塊,但是在x86系統下4G內存的內存地址值都已經達到了你能訪問的極限,你去擴展多餘的內存塊又有什麼意義?反正也訪問不了。
關於這一點有異議的可以自己去測試,在WIN7和VISTA NT6構架下還不明顯,在XP NT5的構架下這個問題非常突出,4G內存或以上的計算機在XP x86下工作時,不管開不開虛擬內存基本上在主內存使用量超過2G後都會被報虛擬內存不足的問題。
這裡也是XP的設計缺陷,暫時不提也罷,今天是講優化不是來噴操作系統的,所以繼續下面的吧。

那麼在基於x64環境的操作系統我們又要注意什麼呢?實際上在x64環境下內存的訪問量是沒有問題的,也就是說地址是完全夠用的。
或者說其實x64環境下4G內存很容易就會被用完,不信的可以自己去運行一下chkdsk X: /r這個命令試試。
x86環境下內存不容易用完的問題其實不是因為不容易用完,而是沒法用,x86環境下單獨一個進程所調用內存的極限就是2G,2G以上的內存是絕對不可能在1個進程裏調用的,這涉及到x86的內存尋址極限問題。
而x64環境就不存在這個問題,所以很多人裝了4G內存去換x64系統以後,依然還是運行原來的程序但是會發現內存不足,就是這個原因。
那麼x64環境又要怎麼設置系統緩存呢?
實際上對於大部分用戶來說,x64的系統下擁有4G內存的話也是可以關閉掉系統緩存的,只要不要同時運行複數的大型程序就沒有問題。
注意,是複數的大型程序,單獨一兩個沒有任何問題,比如跑個魔獸世界或者開個星際2是絕對不會有問題的。
但是偶爾還是會碰到警告系統緩存不足的問題,這裡其實如果不是經常碰到這個問題的話可以忽略。
所以這裡只提怎麼設置這個值,這裡推薦如果經常碰到這個警告的朋友把系統緩存值設置為256-1024M。
一般情況下,4G內存裏會用到的虛擬內存量不會超過1G,大部分情況下虛擬內存使用量就在700M左右。
但是請注意,設置虛擬內存是要犧牲性能為代價的。

於是,就開始今天的重點吧,工具推薦。
這裡只推薦一個工具。
O&O CleverCache,推薦這個工具的主要原因就兩點,一是這個工具具有x86和x64兩個版本,二是這個工具所屬的O&O公司的系列的解決方案基本都是為專業服務器和工作站製作的,技術力量有足夠的保證。
至於O&O CleverCache,則可以完全將其視為一個智能化內存整理軟件。
與常規的內存整理不同,O&O CleverCache在程序開始載入內存時就會對不需要的內存進行釋放,並且控制主內存與虛擬緩存的平衡。
CleverCache安裝後使用也很簡便,不需要設置,使用提供的自動模式就可以了,開啟這個軟件後你可以明顯的看到程序的內存佔用量大幅下降。
比如VS2010,打開CleverCache和關閉CleverCache的內存佔用量差距是打開時的佔用量僅為不打開時的70%左右。
很多人還會擔心這個軟件會不會導致內存訪問速度的下降,實際上完全不會。打開它和關閉它時內存速度不會有任何變化,這個可以隨意找一個測試工具測試一下便知。

工具推薦完了,這裡再提一個VISTA和WIN7下新加入的技術,ReadyBoost
關於這個技術網上很多地方寫得很模糊,讓人壓根不明所以。
其實ReadyBoost和虛擬緩存是不一樣的,這裡必須先聲明。
ReadyBoost提供的是隨機讀寫小文件時的效率提到,而對於其他的沒有任何改變。
啟用ReadyBoost後系統速度明顯提升的是在執行大型程序的時候,而不是平時。
一般ReadyBoost在其開發經理的Blog上推薦的是與內存1:1或者2.5:1的比例進行配置。
其實ReadyBoost技術對於內置讀卡器的筆記本用戶來說是一個非常好而且投入很少的提升系統性能的解決方案。
對於外接讀卡器ReadyBoost技術是不支持的,但是對於筆記本內置的讀卡器ReadyBoost是支持啟用的。
至於為啥外接讀卡器不能啟用,說得直白一點因為讀卡器山寨太多了。
只要你手裏擁有一塊不用的USB2.0接口的U盤,或者高速的儲存卡,通過計算機上的USB接口或者讀卡器都可以啟用READYBOOST。
啟用READYBOOST後,在平時使用時是無法感覺到這個技術給你帶來的性能提升的,但是在運行大型軟件,比如遊戲時就可以明顯的感覺到速度的提升。
這裡再提一下,ReadyBoost不是虛擬內存,別指望它來替代你的虛擬內存,它只是用來提升大型程序隨機讀寫小文件時的性能的。

好了,基本就寫到這了,最後這些話是留給沒有興趣或者看著字太多了讀不下去的同學的。

如果你的計算機是x86系統並且內存大於或等於4G,請關閉系統緩存。
如果你的計算機是x64系統並且內存大於4G,在關閉系統緩存的情況下不會出現頻繁的虛擬內存不足警告的情況下請關閉虛擬緩存。
如果你的計算機是x86系統並且內存小於4G,請設置虛擬內存量最低為256-512,最高為1024-你的內存大小。
如果你的計算機是x64系統並且內存小於4G,請設置虛擬內存量最低為512-1024,最高為1024-你的內存大小。
無論何時,使用O&O CleverCache以及ReadyBoost技術都是對你的計算機有益的!
喜歡嗎?分享這篇文章給親朋好友︰
               感謝作者     

Rank: 7Rank: 7Rank: 7

狀態︰ 離線
2
發表於 2013-8-25 17:24:29 |只看該作者
感謝大大無私的分享~~~~~

Rank: 2

狀態︰ 離線
3
發表於 2013-10-12 22:08:33 |只看該作者
感激不盡學到新的一招.謝謝大大分享
請注意︰利用多帳號發表自問自答的業配文置入性行銷廣告者,將直接禁訪或刪除帳號及全部文章!
您需要登錄後才可以回覆 登入 | 註冊


本論壇為非營利自由討論平台,所有個人言論不代表本站立場。文章內容如有涉及侵權,請通知管理人員,將立即刪除相關文章資料。侵權申訴或移除要求:abuse@oursogo.com

GMT+8, 2024-5-8 01:19

© 2004-2024 SOGO論壇 OURSOGO.COM
回頂部