作者priv (邪惡松鼠)
看板Android
標題Re: [討論] 1G RAM手機,總共可用記憶體
時間Fri Feb 24 11:20:31 2012
※ 引述《T60 (Venetian)》之銘言:
: 以下列出一些1G RAM的手機,扣掉系統佔用後,總共可用記憶體
: (註:這個是不計入blur/Sense/TouchWiz的佔用,而是真實總共記憶體哦)
: Galaxy S2 → 約837MB
: Galaxy Note → 約800MB
: Galaxy Nexus → 約631MB (誰能告訴我,怎麼會這樣少?)
: Galaxy I9103 → 約724MB
: HTC EVO 3D → 約808MB
: MOTO RAZR → 約928MB (機王!)
: Atrix ME865 → 約700MB
: 補充一下,記憶體768MB機種
: (有空的補充一下)
: Desire HD 刷unity v10 kernel →約621MB (幾乎跟Galaxy Nexus一樣了)
: Sensation XE →約563MB
手機可用RAM的問題
有兩個部份會消耗掉你看得到的RAM
I. 以Qualcomm的架構來說,低消有三種CPU在跑三種OS
隨不同的系統架構可能有更多塊
1. Modem Processor:
只要電話功能開著就不睡覺,比較省電,負責跑打電話之類的功能
以前是用ARM9,現在Snapdragon S2以上升級到ARM11
2. Application Processor:
主CPU,也就是一般說1GHz, 1.5GHz,四核、雙核的那顆,就是拿來跑Linux的
3. Digital Signal Processor(DSP):
拿來運算圖形影像聲音等用的,算是一顆特殊用途的處理器,也需要自己的RAM和ROM
看哪一套平台,基本上Modem和DSP就會各吃掉64MB或128MB
II. 然後再來,顯示、相機、聲音部份,他們會需要用到連續的緩衝區
以顯示和相機來說叫做frame buffer
以Qualcomm的作法是開機時就固定配一塊給它
GPU至少要32MB或64MB以上,解析度越高要配越多
相機看你的相機等級,畫素越高就要越大
聲音還好,大不了就幾MB而已
這部份要做成OS列在最大可用記憶體或不列出來都沒差
但是反正也是會被佔掉的,列和不列就可以差到100MB
結論:
1. 根據memory layout不同所以看得到的大小會不同
畫面解析度越高,相機畫素越高,DSP越猛,就要佔掉越多的記憶體
2. 看得到和可以用不見得代表同一回事
physical memory只是一張table
其實要做也可以做到列出1024MB完整的記憶體
只是中間還是要挖洞給別人用,Linux不能用
3. 其實不見得要用到完整的64MB或128MB,有時候只是先預留
如果記憶體很不足的時候有些廠商會自己再去調整layout多榨幾MB出來
問題是64MB~256MB的年代大家比較願意做這種事
都已經1GB了做這種事就很浪費時間
4. 我是不覺得Android在free memory超過256MB以後會有什麼太決定性的差別
也許要請哪位高手指出開機後,可用256MB/384MB/512MB在效能上的差異
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.23.102
1F:推 lkk7835045:我也想知道4.的差異 02/24 12:03
以目前來說設計一隻程式跑256MB以上很不智
因為很多手機會根本不能執行
所以如果可用常常保持在256MB以上就表示任何程式都能很快地順利執行
我覺得以目前這個階段來說就很夠了
當然越新的Android版本footprint會越大,但是那個不會一下暴增
總之我覺得只要有1G應該沒有不夠用的理由
※ 編輯: priv 來自: 140.113.23.102 (02/24 12:07)
2F:推 F9:有些程式是會常駐記憶體的,這些程式裝很多時,還是會不夠用吧 02/24 12:11
3F:推 Kamiyu:推專業文,看看手邊的機器,還沒有可用RAM達到256MB的QQ 02/24 12:13
4F:推 doom3:沒去修改build.prop裡的dalvik.vm.heapsize的話 每支程式能 02/24 12:17
5F:推 Parhelia:不要亂動memory layout還有一個考量是 有東西要給chip 02/24 12:17
6F:→ doom3:用的RAM 不是24M就是32M 02/24 12:17
7F:→ Parhelia:vendor debug的時候 memory layout差太多很困擾 XD 02/24 12:17
8F:→ Parhelia:不過vendor一般也有document說如何改這些layout就是 02/24 12:18
9F:推 Kamiyu:上面幾樓的推文很令人看不懂...囧 02/24 12:18
10F:→ jumbotest:1G RAM的手機 使用時可用RAM不一定有256啊 02/24 12:19
11F:→ Parhelia:還有比較新的QCT modem也不一定是ARM11 MSM的才是 02/24 12:25
12F:→ Parhelia:MDM目前應該都還是ARM9 XD 02/24 12:25
13F:推 sdyy:ram多就可以多些常駐程式,還是有差 02/24 12:27
14F:→ Kayusumi:常駐多=耗電多阿..XD 02/24 12:35
15F:→ iincho:新一代的chip應該都會有iommu了吧, 一次在kernel弄一整塊 02/24 12:37
16F:→ iincho:這種作法應該會慢慢消失....至於Free memory影響擇是在 02/24 12:37
17F:→ iincho:NAND通常慢,所以你程式殺掉要重跑速度上就差很多.. 02/24 12:37
18F:→ iincho:不過RAM多也會多消耗電,這部分其實也是有一些trade-off 02/24 12:38
19F:→ iincho:常駐多=耗電多這個說法其實不大正確,應該是DRAM要refresh 02/24 12:39
20F:→ iincho:所以你的RAM越多吃電就越大,即使你把程式砍光光也是一樣 02/24 12:39
21F:→ kamichu:不知道從Nand抓資料出來進ram比較耗電還是RAM大耗電 02/24 12:40
22F:→ iincho:撇開耗電的問題,NAND就是慢,一般來說我是覺得RAM越大越好 02/24 12:41
23F:→ priv:在low-memory的時候,例如說free只有40以下 02/24 12:47
24F:→ priv:砍程式還有需要等原先程式執行完正常結束程序的時間 02/24 12:47
25F:→ priv:所以不是只有從NAND裡面載入的問題而已,會更慢 02/24 12:47
26F:→ priv:如果只是單純從NAND裡面載入,那說慢也不會太慢 02/24 12:48
27F:→ priv:當然還是會比直接在記憶體裡面叫出來慢 02/24 12:48
28F:→ priv:所以也有一種策略是乾脆把常用的程式preload進來 02/24 12:48
29F:→ priv:這樣在執行常用的task時就可以少等一、二秒 02/24 12:49
30F:→ priv:但是怎麼拿捏也是個學問,因為preload進來太多 02/24 12:49
31F:→ priv:free memory又變小了... 02/24 12:49
32F:→ priv:這時候如果要執行比較大的程式如遊戲,又會變得很慢 02/24 12:50
33F:→ priv:這只是單純考慮到載入和結束的問題 02/24 12:51
34F:→ priv:還沒有考慮到程式很多如果在背景都有做事...thrashing的問題 02/24 12:52
35F:→ kamichu:我想ram的大小和發生這種從NAND交換資料的次數是有關的 02/24 12:56
36F:→ kamichu:至於耗電多少...還...蠻有趣的 02/24 12:57
37F:推 kira925:需要分析XD 02/24 13:19
38F:→ ITOLEE:推專業文!!簡而言之就是io速度的取捨;win7和vista也傾向 02/24 14:17
39F:→ ITOLEE:把程式先放進記憶體;不過手機的flash隨機存取比電腦硬碟快 02/24 14:19
40F:→ ITOLEE:所以需不需要preload這麼多程式還需要再研究; 02/24 14:21
41F:→ ITOLEE:不過從群眾的經驗值可歸納出兩個現象:似乎不需preload程式 02/24 14:22
42F:推 notmuchmoney:需要占到256mb記憶體 是怪獸級app吧... 02/24 14:22
43F:→ ITOLEE:因管理記憶體殺程式而造成問題的人不多 02/24 14:23
44F:→ ITOLEE:再者,記憶體越多越能吸引買氣...因為A系統還是需要記憶體 02/24 14:24
45F:→ ITOLEE:現存htc的機種都屬於preload多,ram少的...與群眾希望相反 02/24 14:26
46F:推 F9: 這篇明明就是存技術性文章,樓上為什麼總是想要引導到別處 02/24 15:12
47F:→ Allen0315:其實原PO這個論點在ICS上頭值得爭議...畢竟吃資源... 02/24 16:45
48F:推 Sunicer:推這篇。無腦的規格派鄉民不要再陽具崇拜了~ 02/26 00:33