av无码专区精品无码|亚洲日韩久久无码自慰|91人国产精品亚洲播放|一本清日本在线视频精品|亚洲精品第一国产综合精品|琪琪精品免费一区二区三区|国精产品蘑菇一区一区有限|国产成人精品无码一区二区老年人

為什么安卓的手機(jī)越用越慢,刷機(jī)也不行,是 CPU 老化嗎?

2020-07-09 07:55:31  閱讀:-  來源:
為什么安卓的手機(jī)越用越慢,刷機(jī)也不行,是 CPU 老化嗎?

也許你和我有一樣的感受,手機(jī)剛買時運(yùn)行還比較流暢,可是過了一段時間(大概一兩年)卻越用卻卡。這在很多中低端手機(jī)尤其明顯。你也許會懷疑是不是垃圾應(yīng)用安裝多了,可你會發(fā)現(xiàn)很多時候甚至重刷系統(tǒng)都不能解決問題,還是難以恢復(fù)初始的暢快感。這是不是手機(jī)廠商的陰謀,逼迫我們升級手機(jī)呢?還是CPU老化了,運(yùn)行速度越來越慢了呢?

其實CPU并不會因為老化而變慢,我在這篇專欄文章中有詳細(xì)解釋:

CPU能用多久?會不會因為老化而變慢?

簡單來說就是CPU的速度是恒定的,都是一個基頻乘以一個比例(Ratio)出來的?;l現(xiàn)在Intel CPU一般是100MHz,我們用的3G CPU,Ratio就是30,下來剛好3GHz。ARM的也類似。而基頻和Ratio在整個生命期是不變的,從而CPU運(yùn)算速度是不變的。手機(jī)里面其他的子系統(tǒng)也類似。

其實這除了和我們安裝的應(yīng)用軟件越來越多,而國產(chǎn)app經(jīng)常不請自來在后臺偷偷運(yùn)行有關(guān)外。重刷系統(tǒng)都不能解決速度問題和手機(jī)的存儲介質(zhì)——閃存關(guān)系很大。

寫放大(Write Amplification)

我在專欄文章介紹FTL時,介紹了閃存的存儲特性。我們知道一個典型的Flash芯片由Package, die, plane, block和page組成,如下圖:

為什么安卓的手機(jī)越用越慢,刷機(jī)也不行,是 CPU 老化嗎?

Package: 也就是chip即Flash芯片,就是我們經(jīng)常在M.2的SSD上看到的NAND flash顆粒:

為什么安卓的手機(jī)越用越慢,刷機(jī)也不行,是 CPU 老化嗎?

Die: 一個NAND顆粒是由一顆或者多顆Die封裝在一起而成,這種封裝可是平排的,也可以是層疊的。die內(nèi)部可以通過3D 堆疊技術(shù)擴(kuò)展容量,譬如三星的V-NAND每層容量都有128Gb(16GB),通過3D堆疊技術(shù)可以實現(xiàn)最多24層堆疊,這意味著24層堆疊的總?cè)萘繉⑦_(dá)到384GB!就像蓋樓房一樣:

為什么安卓的手機(jī)越用越慢,刷機(jī)也不行,是 CPU 老化嗎?

Die也是可以單獨(dú)執(zhí)行命令和返回狀態(tài)的最小單位。

Plane: 一個die可以包含幾個Plane.

Block: 重要的概念,它是擦除操作的最小單位。

Page:也很重要,它是寫入動作的最小單位。

閃存寫入是以page為單位,而擦除是以block為單位,在寫之前必須擦除。我們也知道了為了延長閃存的生命周期和壽命均衡(Wear Levelling),F(xiàn)TL用LBA/PBA表來映射邏輯和物理操作單位,而一般的消費(fèi)級SSD和閃存系統(tǒng)有至少7%的空閑塊——OP(Over Provisioning)。OP空間就是閃存主控保留的自有空間,用來負(fù)責(zé)負(fù)載均衡和防止寫放大。一個形象的例子就像我們玩數(shù)字華容道:

為什么安卓的手機(jī)越用越慢,刷機(jī)也不行,是 CPU 老化嗎?

我們要把方塊1挪到右下角,一定好充分利用唯一的空格位置,將它移來移去,十分的困難。我們想象一下,如果在最下面忽然多出一整排空閑位置,這樣相信就是小學(xué)生也可以輕松完成這個簡單版華容道,而不需要很多步驟。我們的OP就是這個空閑塊,多了后就會顯著減少挪動的步數(shù),而步數(shù)就可以看作寫放大,對閃存壽命和速度有顯著影響。

因為這個原因,所以SSD和手機(jī)廠商必定會空出部分空間來給OP,一般至少7%。高端的SSD和手機(jī)的OP空間能夠達(dá)到20%到30%以上。OP的大小對性能影響很大,我們今天來看看OP和寫放大對flash性能的影響。

我們假設(shè)要寫入一個4KB的數(shù)據(jù),可是一個塊里已經(jīng)沒有干凈空間了,但是有失效的數(shù)據(jù)可以擦除,所以主控就把所有的數(shù)據(jù)搬到緩存或者OP空間,然后擦除塊,再加上這個4KB新數(shù)據(jù)寫回去,這個操作就造成了寫入放大,即本來是寫4K的數(shù)據(jù),卻造成了整個塊(512KB)的寫入操作,也就是128倍放大。當(dāng)然我們前文提到LBA/PBA并不是簡單的block,而垃圾收集和Trim對寫放大都有所減緩。但隨著閃存空閑空間越來越少,主控的騰挪空間也越來越少。IBM Zurich Research Laboratory做的研究證明寫放大和空閑凈塊關(guān)系極大,如下圖:

為什么安卓的手機(jī)越用越慢,刷機(jī)也不行,是 CPU 老化嗎?

可以看出,在空閑塊少后,寫放大可以達(dá)到3到4倍。

我們新買的SSD和手機(jī),空空如也的數(shù)據(jù)塊讓寫性能達(dá)到最大,而隨著程序和數(shù)據(jù)越來越多,寫入性能也逐漸下降。那究竟空閑塊少到多少才會性能下降,降到什么程度呢?

數(shù)據(jù)

根據(jù)Anandtech做的實驗數(shù)據(jù),我們la如下圖:

為什么安卓的手機(jī)越用越慢,刷機(jī)也不行,是 CPU 老化嗎?

橫軸是時間,縱軸是寫入IOPS。隨著時間寫入越來越多的隨機(jī)4KB數(shù)據(jù),開始100000的IOPS在某時刻劇烈下降,最后隨著空閑干凈塊慢慢減少,穩(wěn)定到了10000IOPS,效能下降到原來的10%!

當(dāng)然最終用戶使用情況沒有這么惡劣,但數(shù)據(jù)說明寫放大對效能的影響巨大。這也是為什么高端企業(yè)級SSD的op空間巨大的原因,Intel的SSD DC3700的op空間達(dá)到32%,這讓它有了巨大的騰挪空間,它的曲線異常平滑:

為什么安卓的手機(jī)越用越慢,刷機(jī)也不行,是 CPU 老化嗎?

這對服務(wù)器市場非常重要。

結(jié)論

數(shù)據(jù)表明,我們對手機(jī)存儲空間或SSD使用大于75%后,寫入性能就會因為寫放大而大大下降。中低端手機(jī)Flash空間本來就小,OP又小,很容易造成寫放大,大大減低了Flash的壽命。而壽命降低,會出現(xiàn)更多壞塊,反過來又加劇寫放大,形成惡性循環(huán)。速度會越來越慢,這個靠重刷系統(tǒng)是不能解決問題的。

現(xiàn)在你是不是要考慮買個大容量的手機(jī)了?iPhone手機(jī)為了提升用戶體驗,op留的很大,所以快滿了后差距并不是很厲害,可以類比Intel那款SSD。

后記

有很多朋友留言問解決辦法,這里簡單說一下,稍后會寫一篇專欄文章詳細(xì)介紹步驟和手機(jī)Flash與SSD的使用注意事項。

  1. 首先必須保證手機(jī)剩余存貯空間在25%以上。至于如何做到,就是刪刪刪唄。
  2. 刪除流氓軟件、自啟動軟件。必要時分別設(shè)置app權(quán)限。
  3. 未有改善就只有重刷系統(tǒng)了。注意保留有價值的信息,如通訊錄、照片等等。
  4. 重刷系統(tǒng),一般都會有改善。Trim在Android 4.3的手機(jī)上自動會打開,無需操作。
  5. 重刷系統(tǒng)還未改善,如果是Android 4.3的系統(tǒng),很有可能就是壞塊太多了,你會發(fā)現(xiàn)可用空間變少了很多。有些軟件可以重置FTL表,但有風(fēng)險。建議湊合用或者購買新機(jī),畢竟現(xiàn)在低端手機(jī)可以看作快消品了。
  6. 壞塊不會死而復(fù)生,壞了就是壞了,節(jié)哀順變吧。至于壞了的原因見我下面的系列文章。

日常使用時注意不要把存貯空間使用到高于75%,會加速寫放大,加速壞塊的產(chǎn)生。