系統內存不足導致死機
· 我們先澄清一個概念,我們通常所說的內存,是指系統的緩存,也就是用“顯示電量”軟件看到的“內存”,這個緩存通常比較小,不到1兆,它是手機儲存、內存卡存儲和機器自身系統中程序運行時即將用到的數據的緩存區,當手機存儲、內存卡存儲、機器自身系統和機器cpu之間的數據交換的時候扮演橋梁的角色。這個橋梁,卻成往往為機器死機的罪魁禍首,通常的機器死機或多或少都與它有關。以后我們提到的內存,就是這個“內存”而不是什么“手機存儲”大家要注意!手機存儲相當于我們的電腦硬盤,在手機中和內存卡存儲一樣,只是存儲設備,并不是什么內存(在手機中有一個有趣的現象,就是我們把機器自帶的存儲部分就叫內存,這的確誤導了很多人)。好了,內存到底是什么我們明白了,接下來我們就說說手機存儲空間不足為什么會導致死機。
· 先舉個例子吧:還記得早些年的老電腦嗎!它們通常硬盤都不會很大,當我們瘋狂向里面存儲東西,即將把硬盤塞滿但還未滿時(比如還剩100多兆空間),電腦經常出現的情況嗎?對了!那就是藍屏。為什么藍屏呢?不是還有100兆可以用的嗎?這就要從電腦的存儲數據的原理入手:電腦無論在運行什么程序的時候,都要把這個程序要用到的相關數據從硬盤讀出來,存到內存中,然后cpu再把它進行計算時用的數據從內存取出來(這里面還要經過cpu自帶的一級二級緩存這個“橋梁”,一級、二級緩存在內存條和cpu之間所扮演的角色就相當于內存條在硬盤和cpu之間所扮演的角色一樣,起到加快數據交換的作用),讀到cpu中進行計算,要知道cpu從內存條中讀數據要比從硬盤直接讀數據快的多,這樣就大大提高了程序執行的速度。計算完畢后,cpu就執行計算的結果,比如計算結果是執行一條指令:打開文件夾,那么電腦就會把文件夾里的內容顯示出來。再比如我們正在輸入一篇文檔,電腦的cpu通過我們敲擊鍵盤計算出我們輸入的是什么文字,那么它把我們輸入的文字放在那里了呢,就是放在內存中,直到我們給它一個命令,讓它把我們輸入的文字“存盤”,它才會把我們輸入的內容從內存條中轉儲到硬盤上。然而事實是,電腦之所以能運行,都是由于有cpu的計算,我們一切的動作,甚至包括顯示器顯示,包括我們移動一下鼠標,都要經過cpu的計算和指揮,而這些計算和指揮的復雜龐大的中間結果,往往都要暫時存儲在內存條中,只有cpu認為內存已經裝不下了,或是我們給了電腦一個命令,命令它存盤,才會轉存在硬盤上,這個過程中硬盤一直在告訴旋轉,隨時準備接受從內存轉儲過來的數據。而cpu這時還要抽出精力來時時檢測存儲在硬盤上的位置,以便下次再存儲時從這個位置接上。而我們的硬盤在裝的差不多快滿時,往往那點剩余空間都以碎片形式存在,更增加了cpu時時檢測存儲在硬盤位置上的難度,加上以前的cpu運行速度不是很快,內存條又不是很大,這種轉儲就要經常進行,這種大量的數據交換造成了cpu瘋狂的運算,弄不好就造成死機。這就是為什么電腦剩余空間不多時經常藍屏或死機的原因。
· 好了,說了這么多電腦,無非就是要拋磚引玉,把話題引到我們的手機上,前面說過手機里的存儲和內存卡存儲都是手機里的存儲設備,不是真正的“內存”,只是相當于電腦里的硬盤,而真正的內存是不到1兆空間的“內存”(這個我們通過軟件“顯示電量”可以看到的,或者是文件管理器里的“系統信息”都可以看到)這個“內存”才是真正相當于電腦里的“內存條”。話說到這里已經很明白了,為什么手機存儲空間不足時比較容易死機,smartphone系統和電腦windows系統的相通之處,對照上面的電腦藍屏,不用再多說了吧。