100%磁碟是什麼,為什麼會有100%磁碟?
是不是跟100%cpu一樣,也是造成系統假死的一個重要原因?它的內在機制是什麼?如何避免出現這種情況?
100%磁碟是在沒bug的情況下最容易達成的成就了……當然,接近100%的磁碟時間比接近100%的磁碟吞吐量更容易達成,因為對於機械硬碟來說,大吞吐量只有在順序讀寫時才可能。實際上計算機總會時不時有那麼一段時間磁碟是滿載的——100%磁碟時間很.正.常,是的,很正常。
不過磁碟使用率實際上沒什麼用,判定硬碟瓶頸的數據是「響應時間」,嚴格得來說是應用程序在這個時刻要求操作系統讀/寫某個扇區,到這個操作完成所消耗的時間的期望。
當然,隊列長度(這裡指的是操作系統隊列,不是硬體隊列)越長,響應時間越長,但是只要隊列不是空的,這就會為磁碟活動時間貢獻出微小的一毫秒,所以更有用的數據是平均隊列長度而不是平均活動時間。粗略估計的話,
響應時間=單請求評論響應時間*(隊列長度+1),
但是這個估計實際上只有數量級上的準確性。還可以這樣估計,
響應時間=隊列完成時間+單請求平均響應時間,
實際情況通常比這個估計要好一些,但是要估計隊列完成時間要考慮更多的因素。
所以,100%硬碟活動時間「不一定」使整個系統的響應時間產生肉眼可見的增加。
舉個栗子。
現在很多計算機都是雙硬碟,一般人會把一個較小的ssd用作系統盤,把機械硬碟用作倉庫盤,這樣,當你在倉庫盤做規模比較大的文件操作的時候(比如複製,解壓),倉庫盤的活動時間會保持在100%(因為一直有新的io請求),但是,你的沒有在用倉庫盤的程序一.點.也.不.卡,當然,這時候,如果你想打開倉庫盤上的某個遊戲,你會感受到來自機械硬碟的惡意——這是隊列長度很長的情況:新的io請求無法及時得到響應。
當然,還有一種情況,是驅動bug,比如windows 10的某驅動。
那麼怎麼避免呢?
1.如果是大量文件操作導致磁碟活動時間過長進而影響到整個系統的響應時間,那麼,減少文件操作,或者在進行大量文件操作的時候先干別的去。如果你能讓操作系統把這些文件操作放到一個低優先順序隊列,也不錯。這一點似乎通常是用一個低優先順序進程一次提交一個io請求來實現的。2.如果是pagefile問題,那麼加內存,或者想辦法減少內存使用,有人建議把ssd用作swap可以顯著提高面臨內存瓶頸的系統的響應性能,你可以嘗試一下,但是這會影響ssd的壽命。3.驅動/os的bug,那麼找沒bug的驅動,或者換硬碟(不換驅動就換硬碟嘛(逃)。p.s.,因為調度演算法不同,linux內核在高硬碟負載下,在響應時間方面比windows要好得多。就是磁碟在不停地讀寫。
有可能是有一個特別能佔用磁碟的程序在運行,比如建立文件索引或者Windows安裝更新。
也有可能是程序開太多,內存裝不下,操作系統瘋狂進行內存調度,就是把物理內存的東西與虛擬內存的東西相互移動,導致磁碟佔用。從win8到現在的win10,經常出現系統更新也會導致磁碟佔用100%鍋不是微軟的,是電信的,因為老連不上微軟伺服器
win10的開機自動掃描是100%,所以開始有點卡,過一會就好了
以我的經驗來說,固態硬碟可以有效解決這個問題如果是專業版,可以去組策略裡面去把家庭組關掉。可能是我的電腦整體配置是三年前的,在Win10中系統的溫度比較高,如果改成Win7系統,溫度則可以下降個四五度,所以我還是換回了Win7系統。Win10等以後換了新電腦後再體驗吧
推薦閱讀:
※Windows Installer 沒有任何資源瓶頸,為什麼老是卡?
※有沒有覺得Windows10有時很容易出現莫名其妙的問題?
※Windows10如何使用老版本的圖片查看器?
※高分屏更新windows10後125%縮放下非系統軟體字體模糊?
※Your computer has been blocked,我是被騙了嗎?
TAG:MicrosoftWindows | 計算機 | Windows10 |