顯示廣告
隱藏 ✕
※ 本文為 BruceX 轉寄自 ptt.cc 更新時間: 2013-11-25 09:14:35
看板 Android
作者 gpc (gpc)
標題 Re: [新聞] Android 4.4只需512MB內存?別高興太早
時間 Sun Nov 10 15:34:58 2013


※ 引述《Colaman ()》之銘言:
: App很肥  系統再瘦都救不了他沒錯  但是...
: 在oom之前  android 還有 application framework的OOP以及android kernel的LMK
: 所以也沒有那麼快跳到oom-killer  而且Google很愛在這邊偷吃步

系統只要進入認定的記憶體不足狀態,就會開始從高oom_adj開始清理,

當系統開始依照OOM_ADJ清理完畢後,那些被清掉的APP,下次就要重新load,

點APP到畫面出來就要一陣子,

我的GPlayer為了有人說關掉也耗記憶體,我就在退出APP的時候整個釋放掉.

結果過幾天,又有人跟我說"從LAUNCHER點GPlayer"要等好幾秒才有畫面....

現在都是高階機子,記憶體問題比較不會覺得卡,但一樣會有啟動緩慢的問題


何況如果還有一個LMK在背後弄,重點是這個LMK各OEM非常喜歡調整,

尤其是低階RAM的機種,因為這些OEM為了要過CTS以防一堆離奇的問題,

為了要過monkey以防memory leak的問題,總是很喜歡在這邊動手腳.


一個真實的案例,某OEM某1G機台,在一個測試流程中,某OEM自製的底層APP

可以重複被kernel的LMK,KILL高達300次以上,結果造成某server,memory leak,

暴肥了一百MB,本來就沒有多少空間可以用,跑了一陣子測試後,因為記憶體不足,

甚麼APP都開不了.


該OEM為了解決這個問題,直接把該APP設定成永遠不能砍,可是記憶體就永遠少了好幾十MB,

重點是這個OEM自製的底層功能,我是一輩子都不會去用它的...XD


很多事情消費者是沒有選擇的權力,OEM選擇用了低RAM,消費者只會看傳單跟DM,

根本沒人會注意細節,或者開機有多少可用,可以釋放到多少,這才是為甚麼ANDROID低階機

體驗總是有限制.(有點跟最近的假油一樣)




USER      PID   PPID  VSIZE  RSS     WCHAN    PC         NAME
u0_a159   22329 1940  715244 127784 ffffffff 40048a70 S com.facebook.katana
u0_a179   23603 1940  549664 50888 ffffffff 40048a70 S com.facebook.orca
u0_a159   28225 1940  494260 46152 ffffffff 40048a70 S com.facebook.katana:nodex

: App肥也不見得會引發oom-killer  要看肥app在AMS的哪裡啊@@
: 再來
: 如果提到了oom/lmk/pmem/實體記憶體512MB  為什麼這裡是用VSS計算?
: 從oom/lmk的眼光 應該討論RSS

不好意思,上面那邊文章打錯了,把G-Protector看到的數值打成VSS,

我查了一下我的做法確實是RSS加總沒錯,

(把同屬一個APK使用到的每個process的RSS加總起來,應該是非常正確的檢驗方式)


請看我上面貼的PS LOG.

臉書124MB
一個不知名的臉書服務remote service(45MB),
臉書即時通49MB

CHROME
也是 85MB +70MB 兩個
u0_a146   10127 1940  711316 85920 ffffffff 40048a70 S com.android.chrome
u0_i9     10161 1940  583180 70300 ffffffff 40048a70 S com.android.chrome:sandboxed_process0



: 從App開發者的眼光討論App肥不肥  應該優先討論PSS更甚USS以及RSS
我剛上一篇的數據是RSS加總沒錯 :P

雖然說明打錯了,可是數據是該package使用的RSS的總和


: 算VSS total來討論會不會頂到512MB實體記憶體頂是不是怪怪的?
VSS都400-500的 @_@ 不會有50MB那麼小

: procrank也只算有意義的PSS/USS total給人看 不是嗎?

--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.173.159
Colaman:我沒有質疑app太肥導致使用者經驗不良的問題,我回文想說1F 11/10 15:39
Colaman:的是1. 通常不會這麼快該oom-killer現身  2. 應該不是VSS
Colaman:對於1.的小附註是oom-killer起來之前  要看ams跟lmk的設計
Colaman:以及app的撰寫方式  JB 4.1開始Google就更改了一些adj計算
gpc:不好意思,VSS是我打錯了,我提供的數據是RSS總和5F 11/10 15:42
Colaman:方式  (打太快  不是"就更改"  是又更改)6F 11/10 15:42
gpc:我說的真實案例是4.2的機子呢XD7F 11/10 15:42
gpc:你在市面上可以買到他Q_Q
Colaman:所以說  有這種512MB這種說法 也有可能是又有新的計算方式9F 11/10 15:43
gpc:重點是OEM阿啊 應該沒有OEM願意出BSP版的低階ANDROID10F 11/10 15:44
gpc:(老闆會罵)
Colaman:我舉個極端但不會發生的例子  假設Google改成fg的adj=012F 11/10 15:45
Colaman:然後除此之外的人不管有沒有service之類的  通通都是7
Colaman:那就是其實我們只要看fg app的記憶體使用量
gpc:這樣就會一直被殺 然後卡翻天15F 11/10 15:46
Colaman:當然這例子不會發生  但我的意思是這些調整也都會影響16F 11/10 15:46
gpc:APP用到一半就突然爆掉 @@17F 11/10 15:47
Colaman:被定義的"所謂重要的"東西的記憶體使用量18F 11/10 15:47
gpc:google AMS跟OOM的計算 我至少trace到4.3的code,不覺得有甚麼19F 11/10 15:47
Colaman:(更正: 使用量"上限")20F 11/10 15:48
gpc:不是感覺有甚麼大改變Q_Q 1G-RAM搭配OEM的東西後 還是很慘21F 11/10 15:48
Colaman:結論是: 如果Google有宣稱所謂的可以不可以用512MB運行22F 11/10 15:49
gpc:GOOGLE指的應該就是BSP版吧 他自己做的 OEM跟你裝的不保證23F 11/10 15:49
Colaman:就算是他的定義裡面也包含了"重要app" 這也可以是被從code24F 11/10 15:50
gpc:可是GOOGLE也不會出512版的BSP,OEM也沒人會出..有點是空談25F 11/10 15:50
Colaman:裡面定義的26F 11/10 15:50
gpc:重要的APP是臉書 LINE CHROME這樣512夠嗎XD27F 11/10 15:52
Colaman:OEM願意啊...(抽屜立刻拿出拿出兩支不到1000 RMB的機子)28F 11/10 15:52
gpc:糟糕 我這家不願意XD 可能公司有偶像包袱吧29F 11/10 15:53
Colaman:我覺得我們不能只用我們的使用習慣來看 有的OEM進行著甚至30F 11/10 15:53
gpc:我是從OEM來看的....31F 11/10 15:54
Colaman:是256MB以及128MB的ultra low-end android案子  (不唬爛)32F 11/10 15:55
gpc:我這邊的OEM就是不管RAM多少 機子多爛 一定要把老闆認為的亮點33F 11/10 15:55
gpc:放到產品中 不管效能...
Colaman:原因就是我們生活的世界不是整個世界XD35F 11/10 15:56
gpc:你提的那些OEM是主打比較小眾or便宜的市場吧36F 11/10 15:56
gpc:ANDROID主要市占率 賣百萬台以上的 大都是我這邊OEM的想法~.~
gpc:看看H牌低階機 還是一堆H公司的軟體 S牌也是
Colaman:我自己把話題扯遠了  我的意思還是:我們知道512MB對於我們39F 11/10 15:58
gpc:以前的M牌低階機也是 所以才有人要在那刷ROM 刷來刷去40F 11/10 15:59
Colaman:的使用者經驗完全不夠  但這是被我們定義的使用者經驗41F 11/10 15:59
Colaman:不是喊出"4.4 512MB就夠"的人所定義的  更不是
gpc:好吧 特殊用途的人可以用512MB 那GOOGLE要加警語了43F 11/10 16:00
Colaman:想要出256MB/128MB的人定義的 而這些都可以從code裡面定義44F 11/10 16:00
gpc:感覺GOOGLE這口號 跟假油很像=.= (XXX是國外的健康食品)45F 11/10 16:01
gpc:你說的這些我都知道~.~ 問題是主要的OEM 根本做不到
gpc:除非是小公司或是主打小眾市場 或者自己開公司做機子
gpc:主要的OEM才是決定ANDROID市場的存亡
gpc:不然H牌S牌為什要投注那麼多資金在ANDROID 一切都是$$$$$$$
Colaman:喊出"4.4 512MB就夠"這種口號  就我自己的經驗我覺得更像50F 11/10 16:04
gpc:而OEM也不曾為了GOOGLE說的低階機種而改變 他們還是做自己的51F 11/10 16:05
Colaman:是給OEM建議  舉例來說  T-Mobile的G1  HTC的TMO版Magic52F 11/10 16:05
gpc:很多東西 沒有市占率就是沒意義啊 市占率不是靠內容 廣告行銷53F 11/10 16:06
gpc:廣告行銷也是影響市占率很大的原因
gpc:那些OEM已經回不去啦.... (我已經建議過了,無效QQ_)
Colaman:都在android成長(咦)的過程中  因為RAM達不到"喊出"的數值56F 11/10 16:06
Colaman:而沒有繼續跟著前進(RAM是其中一個重要理由  但不是唯一)
Colaman:是什麼樣的「RAM達不到"喊出"的數值」狀況?  他們連開機
gpc:老機子OEM都不會有team維護的 他們就一直出新機賺錢阿..59F 11/10 16:08
Colaman:到lockscreen或是home之前就會出現lmk砍home的窘況了60F 11/10 16:08
gpc:我知道你想指出比方說某H公司說某機因為RAM太小不升級61F 11/10 16:08
gpc:其實只是不想維護而已XD
gpc:維護要人力 要$$$$$
gpc:至於新出的低階機 一樣是因為老闆要求"公司精神"一定要在機子
gpc:所以也不可能出BSP版本的...
Colaman:這種囧況已經是連使用者經驗都不用提的啊  開不到主畫面66F 11/10 16:10
Colaman:有啊 new htc one跟SGS4的GEP on Google Play
gpc:結論就是 4.4 可以512MB 是指不含三方與OEM的使用情況68F 11/10 16:12
Colaman:舉這兩個例子不是要反駁你的說法  我只是想說69F 11/10 16:13
gpc:那個是google要求的阿XDXD70F 11/10 16:13
gpc:而且台灣買不到 ~.~ 毫無行銷可言 想買有夠麻煩
gpc:這樣的機子也不會有市占率..
Colaman:他們的狀況以及定位就很像當年的T-Mobile的G1/Magic73F 11/10 16:15
Colaman:G1 "以及" Magic
Colaman:反正我覺得512MB這種數字是喊給BSP provider跟OEM聽啦 ~.~
Colaman:OEM自己就會去評估自己額外要加的東西會吃多少
gpc:恩恩 真的會不會有機子 不是只有底層好就有 OEM做不做是一回事77F 11/10 16:19
gpc:(偏偏大間的OEM自己是不會做這種事情)
Colaman:然後有眼光的OEM就會用512MB + 自己的功能使用量 +79F 11/10 16:19
Colaman:評估過的銷售對象使用者經驗使用量
gpc:(OEM:幫GOOGLE做機子,賺沒幾毛,我掛我自己的牌子,放一些我APP81F 11/10 16:20
gpc:價格給他多個五成,賺爽爽...要不是為了還GOOGLE人情...)
gpc:有眼光的OEM都會出那種賺很多錢的.ANDROID..
Colaman:沒眼光的OEM就會出那種光自己軟體都跑到會low memory的84F 11/10 16:22
gpc:因為大間的OEM實在有很多成本啊 人.專利.版權 都是無形的85F 11/10 16:22
gpc:可是那些出自己軟體跑到沒記憶體的 還是賣的很好阿
gpc:因為USER不懂這些 他們看廣告 代言 推銷員 打手
gpc:看外觀 看品牌 看潮流..就是不看技術的東西
gpc:所以市場就被定位成 要包裝才能生存 不包裝就是被當山寨
gpc:大間的OEM還是只會跟著大眾消費者跑
gpc:很多USER(非常非常多)都不會上PTT也不會上ANDROID版
gpc:他們有問題也就直接去找店面 店家
Fonger:躺驗的ˊ內監APAP93F 11/10 22:39
qweqweqweqwe:記憶體最近越來越貴. 相信大家很快就會看到512的產品94F 11/10 23:57
christian12:神之間的對話95F 11/11 00:57
richjf:野火的復歸 春風吹又生 XD96F 11/11 12:47

--
※ 看板: Android 文章推薦值: 0 目前人氣: 0 累積人氣: 998 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇