為什麼 Windows 系統大部分問題重啟就能好呢?
電腦無論遇到什麼問題,第一時間就是想重啟試試,一般還都管用。
註銷再登錄更該先嘗試。以及最先嘗試的應該是重啟有問題的程序。
抖機靈的說法是,當你累了,你就休息一下,就好了,如果不好,睡一覺再起來就好了,還不好,送醫院吧。
實際上,有些程序的 bug 隨著時間的流逝開始出現(時間越長,觸發 bug 的操作越可能發生),而且 bug 出現之後程序會發生什麼誰都不會保證(因為程序的設計是儘力保證沒有 bug 的時候不引發 bug),一旦出現未預料到的 bug,最好的策略就是重啟那個程序重啟後程序將乾淨地開始,從而不展現問題。
另外諸如文件/磁碟被佔用,重啟後就不被佔用這種情況,那只是因為重啟時那個程序被關掉了,因此不再佔用。
有一個詞叫「系統平均無故障時間」,可以體現一個產品的可靠性。Windows正式版發布之前應該是做過這種穩定性測驗的,所以新裝好的Windows一般很穩定,隨著不斷的使用,安裝的第三方設備驅動、高許可權的應用程序甚至簡單到對系統默認配置的修改,都會改變最初測試時的環境,引入許多不穩定因素,導致這個平均無故障時間縮短。
只要是人做出來的系統,都有一定的平均無故障時間,複雜度越高越難保證這個時間,測試工程師能確保在常規環境下這個時間不至於很短。
一般來說重啟能解決的故障,可能並不是嚴重的錯誤,而是伴隨著時間流逝和各種操作發生的。重啟一下,讓軟體們回到開始時的狀態,儘可能接近發布前測試時的環境,就很神奇的恢復了(其實是回到了走向下一次出錯的路的開頭)。
當然遇到問題還是得具體問題具體分析~舉個簡單的例子:
很多老的C++程序寫的時候,寫的時候因為疏忽,有些new的內存沒有delete,結果就是隨著運行時間增加,內存泄露越來越多……
如果沒辦法debug(程序太複雜)的話,那麼回收內存就只有兩個辦法了——要麼重啟系統,要麼殺掉進程,然後所有泄露的內存會被回收這跟Windows無關,OS X Yosemite從睡眠喚醒之後也會越用越慢,這個時候重啟就能解決問題程序很傻,只會前進不會後退,有時走到死胡同里了,怎麼辦呢?只好由你給它關了重啟,告訴它【重走一遍】
市面上大部分可靠軟體的可靠的正式版本基本上是沒有常發BUG的。也就是說大部分BUG是難以觸發或者難以重現的(要麼是經過一系列特定操作才能觸發,要麼是就出現這一次),那麼對於軟體供應方來說,排除這些偶發BUG主要通過大量的測試和用戶反饋,監控磁碟和內存的工作情況。然後找到導致BUG的部分。
那對於使用者來說,出BUG也就是無非是軟體衝突,內存出錯,硬碟出錯,那麼重啟電腦可以關閉/重啟各類進程,重新分配內存,重置硬碟緩衝區,那麼問題自然就沒有了。所以重啟電腦/註銷/重啟各種服務和程序也能實現。。。另外,請不要敲擊機箱。。。。硬碟和電視機不一樣。。。
推薦閱讀:
※既然阿里不把WP放在眼裡,微軟為什麼不搞自己的支付?
※win10系統ntoskrnl.exe佔用大量內存如何解決?
※OS X 和 Windows 的多任務切換和窗口管理哪個更好?
※更新win10一周年版本後桌面,任務欄無響應?
※微軟會針對「支付婊」事件對 WP 進行一次營銷和推廣嗎?
TAG:MicrosoftWindows | 計算機 |