» Poradna » Mobily

Jak funguje správa RAM na Androidu? Podivná zkušenost...

 |   |  Microsoft Windows 10 Firefox 90.0

Zdravím všechny chytřejší než já ;) Doposud jsem měl obstarožní foun s Androidem 9 a 3 GB RAM. Vše fungovalo víceméně ok až na náročnější hry samozřejmě. Teď jsem pořídil OnePlus 8T s 12 GB RAM a Android 11 a velice mě udivila jedna věc: po restartu (tedy aplikace zavřeny) mi CPU-Z ukazuje Available RAM 7564. tzn. že cca 4,5 GB RAM něco žere (asi systém). No já se ptám proč ? Jak funguje spáva RAM? RAM je stále dost, jen mě to zajímá, zvlášť když se stále prodávají founy s Android 11 a 2 GB RAM. Díky Honza

Mohlo by vás také zajímat

Odpovědi na otázku

avatar
oficiální účet redakce |  | Microsoft Windows 10 Chrome 92.0.4515.107

Dobrý den, u desktopových systémů lze říct, že více volné operační paměti může přinést svižnější odezvu. Mobilní operační systémy však fungují jinak, neboť uživatelé na ně mají jiné požadavky (například rychlé přepínání mezi aplikacemi) a musejí řešit spotřebu energie s ohledem na výdrž baterie.Na Androidu tedy systém ponechává v paměti podstatně více aplikací a služeb než například na desktopu. Důvod je v tomto případě prostý: operační paměť je výrazně rychlejší než interní úložiště. Pokud tedy například přepnete z jedné aplikace do jiné, může se načíst výrazně rychleji, pokud již běží v RAM, a to je na mobilních zařízení žádoucí.To, že máte na telefonu se 12 GB RAM obsazeno 4,5 GB operační paměti, je tedy naprosto v pořádku (dokonce bych řekl, že je to ještě docela málo). Je to žádoucí chování. Cílem není mít neustále volnou operační paměť pro případ potřeby, ale co nejrychlejší odezva.Pokud vyvstane požadavek na větší množství volné RAM, pak systém automaticky ukončí nepotřebné a případně i delší dobu nepoužívané aplikace. Není pravdou, že aplikace na pozadí musejí zatěžovat baterii nebo systémové prostředky - Android většinu aplikací celkem efektivně uspává.Doporučil bych do tohoto způsobu nakládání s operační paměti nijak nezasahovat, protože to může nadělat více škody než užitku. Pokud například ukončíte některé procesy, budou se v případě potřeby spouštět z pomalejšího (a energeticky náročnějšího) interního úložiště. To se pak projeví zpomalenou odezvou a často i vyšší spotřebou.Přeji hezký denKarel Kilián

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Firefox 90.0

Děkuji pane Kiliáne. Je to čest že odpověděla sama redakce. Palec nahoru

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Android AppleMAC-Safari 5.0

Budeš se divit, ale nevyužitá RAM je k ničemu, protože akorát zbytečně žere energii. Takže systém se snaží ji co nejlépe využívat, předpřipravuje si v ní věci, které bude pravděpodobně potřebovat atd. Takže ne, RAM nemá být prázdná, jak si chybně myslíš.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Firefox 90.0

Díky. Ale v PC to tuším takto nefunguje (??)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Android AppleMAC-Safari 5.0

Tušíš špatně. I v PC bude využito vždy více RAM, než bys čekal. Nikdy ti jí Windows nenechají moc volné, ať jí máš kolik chceš. Čím novější Windows, tím efektivně ji využívají a tím míň jí nechávají zbytečně volné.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Firefox 90.0

Tak děkuji. Já jen že na PC mám právě teď využito 7,2 GB a 24,3 GB volno. Kdybych měl využito při prohlížení netu třeba 20 GB už bych se pídil kde je problém. Ale tím neříkám že nemáš pravdu. Jen v tom telefonu mi to vrtalo hlavou.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Android AppleMAC-Safari 5.0

Ono je efektivnější, když si v RAM OS připravuje věci, které pravděpodobně budou potřeba. OS má na to plánovač, který sleduje jak přístroj využíváš a podle toho do ní připravuje věci, aby byly rychleji nachystané. A ono taky ne každý OS to umí stejně efektivně a ne každý to i stejným způsobem zobrazuje. Někdy to může vyhodnotit, jako volnou RAM, i když v ní má něco připraveno, někdy to ukazuje jako obsaženou, nemá prostě moc smysl to řešit. Důležité je mít RAM dostatek U Windows je to dnes minimálně 16GB a u Androidu tak aspoň 6GB.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Chrome 92.0.4515.131

OS toho moc nepřednačítá. Nevím, jak widle, Linux by default určitě ne. Co ale dělá, že všechno, co čte z disku, rovnou přelévá do RAM, pokud je prostor. Jakmile prostor dojde, tak začne řešit, která data z této cache mají menší prioritu, a ta nahrazuje dalším a dalším čtením z disku. Dostatečně dlouho zapnutý Linux, což znamená, že dostatečně četl z disku (toho stavu lze dosáhnout po pěti minutách prostým dd if=/dev/sda of=/dev/null), tak nebude mít ani bit volné RAM, zato ale bude schopen během okamžiku celou cache zrušit a volnou RAM z ní udělat, jakmile bude třeba.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Unknown Mozilla 90.0

Wndows na to od verze 7 (myslim) maji specialni sluzbu "SuperFetch". Ta sleduje, krete aplikace uzivatel spousti hned po startu a ktere v urcitou denni dobu a pak se je snazi pripravit do pameti, nez budou potreba (jejich DLL knihovny apod.)S cachovanim diskovych operaci to maji vsechny OS podobne, jen na Linuxu si muzes vybrat z ruznych I/O planovacu, coz stejne skoro nikdo nedela.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Firefox 90.0

Pamatuji si tyhle věci snad ještě z Vist, superfetch, prefetch, readyboost (to byla ta swapovací flashka), ale nevěděl jsem, že to bylo až tak chytré.S tím dd jsi mě dostal, musel jsem si to zkusit, protože bych přísahal, že jsem to používal při nějakých benchmarcích. Prakticky čisté Ubuntu 20.04.2 na x64, po restartu spousta volné RAM, spustil jsem dd, vedle htop, a paměť byla v mžiku zaplněná (modrá barva). To je výpis free po tom DD, uptime ~3 minuty: total used free shared buff/cache availableMem: 4001696 370480 118792 4044 3512424 3383264

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Unknown Mozilla 90.0

Nech ten Linux chvili bezet, nema smysl zkouset to po restartu. Ja to zkousel taky, ale na pamet to nemelo vliv. Nenechal jsem to ale bezet tri minuty.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Firefox 90.0

Jak to myslíš? Jakože tu cache časem vyprázdní?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Firefox 90.0

Běží tam jen malinká MariaDB, kde teda neustále běží nějaké operace, ale má to řádově celé megabajty.Nechal jsem to jen běžet.Uptime 18 minut: total used free shared buff/cache availableMem: 4001696 370268 3212592 5864 418836 3381520Pak proběhlo dd, 17s, celkem 2.9GB.Uptime 19 minut: total used free shared buff/cache availableMem: 4001696 369740 384316 5868 3247640 3378888Jsem si celkem jistý, že dd to cachuje :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 10 Firefox 78.0

Mas pravdu. U mne ten efekt neni tak vyrazny (Ubuntu desktop), ale je tam. A zbezne jsem se podival na dokumentaci, vypada to ze kernel cachuje po blocich.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Unknown Firefox 90.0

Není prefetch náhodou na SSD systémem deaktivován.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Macintosh OS X Safari 14.1

Treba macos na m1 si alokuje behem chcile celou ram. Je jedno iestli 8 nebo 16GB. Pri 8GB je vyuzita pamet mensi nez u 16GB variante i kdyz bezi to same a ani jedno neswapuje treba 6.5 vs 10. Zbytek temer cele ram pak cachuje. Cache bud vyuzije pokud data v ni budou potreba nebo uvolní.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 10 Firefox 78.0

Jo a jeste drobnost - mam pocit, ze linuxova I/O cache funguje na urovni souboru, ne bloku. Takze ten "dd" s pameti neudela vubec nic, myslim.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Chrome 92.0.4515.131

Vtip je v tom, že zatímco Windows vám jako volnou paměť označí i cache (což nedělaly jen Visty, uživatelé si stěžovali podobně jako vy, tak to Microsoft ve W7 změnil), Linux to tak nedělá, a jako volnou paměť označí jen tu, kde skutečně nic není. To je případ i toho Androidu.Jinak správa paměti na PC (což už je minimálně 20 let nesmyslný pojem, protože IBM-PC se dávno neprodávají), tedy na domácích počítačích, funguje úplně stejně jako na Androidu. Pokud byste používal Linux, zjistíte, že je to i ten samý kód. Android k tomu jako bonus dělá ještě spoustu managementu v userspace, jakože třeba uspává aplikace, což Linux jakožto kernel sám o sobě nedělá.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Chrome 92.0.4515.134

v PC to funguje normalne, v androide nak.t Aplikaciu, ktoru nechcem vypnem, v androide sa minimalizuje a stale ide na pozadi. To berie zdroje, ktore mohla vyuzivat ina aplikacia. Android je spraveny zle.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Android AppleMAC-Safari 5.0

Blbost.... To že je minimalizovaná na pozadí vůbec neznamená, že bere jiné zdroje, kromě té RAM. Aplikace můžou být na pozadí v několika ruzných stavech a záleží na typu aplikace a jak ji vývojář nastavil.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Android AppleMAC-Safari 5.0

Ty vidíš sice využitou RAM, ale spousta je využita právě jen "nezávazně" pro urychlení přepínání aplikací atd, ale pokud je potřeba, tak pokud máš hodně RAM, systém je schopen ji rychle uvolnit a nechat jen to, co aktuálně potřebuje. A to platí pro Windows i android.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Firefox 90.0

https://ctrlv.cz/xzE9Ale funguje ...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Firefox 87.0

Ono to, že má být RAM co nejíc prázdná je takový starý zvyk z pomalých PATA HDD.Když byly RAMky běžně třeba 128 MB, a disky pomalé, na PATA33, bylo potřeba, aby v RAMce bylo pořád nějaké místo, protože uvolnit (odswapovat) ji pro načítání dalších dat trvalo třeba několik vteřin.Při 16GB RAM + NVMe PCIE3.0+ disku je to úplně jedno - několik GB se z RAM stihne "vysypat" na disk rychleji, než člověk stihne dokončit dvojklik, takže když náááhodou paměť dojde, tak se uvolní bleskurychle.Samozřejmě jiný problém je, když aplikace jen pro svůj běh potřebuje víc RAM než je k dispozici. Ale to se zas tak běžně nestává.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Firefox 90.0

2821 Firefox, 1267 MoUSO Core Worker. Zbytek milion drobností

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 92.0

Za ty všechny mínusy co posílate, tak já jen odpovídal na otázku: "tak 7gb ram využití u pc neni málo,pokud nemáš zapnutý chrome a programy.pokud máš zapnuté aktualizace a antivirus tak 7gb je dost i na win10.podívej se do procesorů co ti vytěžuje paměť"

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Firefox 90.0

No tak ted uz vite, co Vam RAM zabira, ne? Firefox a updater.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 91.0.4472.124

Nedej bože SQL :)

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: OnePlus