c盤裝太多檔案會影響系統速度嗎?
【機械硬碟結構及資料讀寫方式】
為了能夠全方位的分析問題,首先認識一下機械硬碟的結構以及資料讀寫方式。當我們給磁碟分割槽的時候,第乙個分割槽(通常是c盤)在最外圈,第二個分割槽(d盤)在第一分區內圈,以此類推。需要記住一點,外圈讀寫速度比內圈快,越往內圈越慢。當系統發出讀寫指令時,磁碟首先需要尋找資料所在磁軌,即尋道,尋道需要時間,磁頭到達磁軌後,需要等待目標扇區轉動到磁頭下面,即延遲。這裡我們需要記住磁頭頻繁尋道加上延遲,會導致效能急劇下降。到這裡,我們應當認為,程式安裝在c盤,系統速度要快一些。但是!我們忽略乙個問題,即磁碟碎片。
【磁碟碎片】
當磁碟上沒有資料,或者資料較少時,有大量空閒空間來儲存資料。當系統要求資料儲存時,磁碟會優先選擇連續的空間儲存資料。當我們刪除檔案時,原本連續儲存資料的區域,就會出現小的空閒空間,這些空間就是所謂的碎片。當系統向磁碟儲存乙個稍大的檔案時,如果沒有連續空間了,磁碟就會將檔案切割,放到碎片空間中。由於這些碎片空間不連續,就會導致磁碟讀寫資料時需要頻繁尋道,再加上延遲,磁碟讀寫資料自然就變慢了。當系統盤剩餘空間比較小時,碎片數量會急劇增加。將應用程式安裝在c盤,提高了系統盤刪除增加檔案的頻率,碎片數量同樣會增加,看起來,安裝在非系統盤系統盤不易產生碎片,貌似要好一些?我們又忽略了乙個問題,程式部署結構!
【程式部署結構】
在過去,程式多數是綠色的。所謂的綠色,就是將程式目錄從乙個目錄移動到另外乙個目錄,從乙個磁碟移動到另外乙個磁碟,從一台電腦移動到另外一台電腦,程式仍然能夠執行。而且,程式除了在本目錄、臨時目錄產生資料,基本不會在其他地方產生資料。所以將綠色軟體安裝在非系統盤,可以降低系統盤碎片產生頻率和數量,這就是過去將程式安裝在非系統盤的主要原因之一。
話又說回來,把程式安裝到非系統盤,難道就不會增加非系統盤的碎片數量麼。放到非系統盤後,不但增加了非系統盤的碎片數量,再加上非系統盤在內圈且讀寫速度慢,且不是讓程式執行速度更慢了?
所以程式結構以及碎片產生的角度上考慮,程式安裝到系統盤要好一些。另外,我們需要考慮檔案系統的問題。
【檔案系統】
我們通常說的fat16、fat32、ntfs就是檔案系統了。檔案系統型別不同,磁碟碎片產生的嚴重程度不同。過去使用的是fat32檔案系統,更早的是fat16,這兩種檔案系統相對ntfs來說,更容易產生磁碟碎片,所以過去經常強調「整理碎片」。現在這樣說的人比較少了。但並不代表ntfs檔案系統不會造成碎片,只是沒那麼「嚴重」。因此我們將程式安裝在系統盤後,由於使用ntfs檔案系統,大大降低碎片導致的系統效能下降問題。
【ncq技術助陣磁碟資料讀寫】
有網友使用了電梯的例子來形容磁碟資料讀寫,非常形象,這裡不妨借鑑下。
假設有三個人a、b和c,分別到達3、5和10樓,假設按電梯的順序是bac,電梯就會先到5樓,回到3樓,最後到10樓。當然電梯可不是這麼幹的,但過去的磁碟就是這樣的,因此會導致磁碟尋道頻率比較高,磁頭行程較長。
ncq(native command queuing全速命令排隊)技術的出現,讓磁碟也類似現在的電梯一樣聰明了,大大降低磁碟尋道頻率和行程。尤其是現在的多核cpu、cpu超執行緒、多執行緒環境下,體現更為明顯。
ncq技術,同樣降低了由於碎片導致的效能下降問題。所以,碎片問題不再是影響我們將程式安裝到系統盤還是非系統盤的重要因素了,安裝到磁碟外圈的系統盤有利於提高程式執行速度。所以我們建議將程式安裝在系統盤,即c盤。
【總結】
從機械硬碟外圈快內圈慢、檔案系統、磁碟碎片這些綜合因素考慮,將程式安裝在c盤,即系統盤的優勢大於非系統盤,所以建議將程式安裝到系統盤。
/*********************************************
*********************************************/
c語言函式引數太多對效能是否有影響?
64位彙編 linux 當引數少於7個時,引數從左到右放入暫存器 rdi,rsi,rdx,rcx,r8,r9。當引數為7個以上時,前 6 個與前面一樣,但後面的依次從 右向左 放入棧中,即和32位彙編一樣。引數個數大於 7 個的時候 h a,b,c,d,e,f,g,h a rdi,b rsi,c r...
清理c盤下的檔案
電腦c盤滿了怎麼清理 1.開啟 我的電腦 工具 資料夾選項 檢視 在 顯示所有檔案和資料夾 選項前打勾 再按 確定 2.刪除以下資料夾中的內容 c documents and settings 使用者名稱 cookies 下的所有檔案 保留index檔案 c documents and settin...
實驗 修改檔名會影響檔案的MD5值嗎?
不知所以,腦海中突然浮現出了這個問題,修改檔名會改變檔案的md5值嗎?不妄斷,實驗出真知。certutil hashfile 1.txt md5可以計算出這個檔案的雜湊值 certutil hashfile 1.txt sha1 certutil hashfile 1.txt sah256 檔名一樣...