Siirry pääsisältöön

Muisti

Reaaliaikainen muistin jakautuminen (Vapaa/Epäaktiivinen/Aktiivinen/Lukittu) allokaatio­kaavioiden ja historian kanssa.

Yleiskatsaus

Muisti-työkalu näyttää, miten laitteesi RAM-muisti on jaettu, kuinka paljon siitä on nopeasti vapautettavissa, ja miten jakautuminen muuttuu ajan myötä.

Se on suunniteltu vastaamaan käytännön kysymyksiin, kuten:

  • "Onko laitteella tällä hetkellä muistipainetta?"
  • "Pitävätkö järjestelmä (lukittu), sovellukset (aktiivinen) vai välimuistit (epäaktiivinen) muistia varattuna?"
  • "Onko muistinkäyttöni vakaa vai piikkaako se?"

Lirumissa Käytettävissä oleva muisti tarkoittaa määrää, jonka iOS voi yleensä vapauttaa nopeasti: Vapaa + Epäaktiivinen.

Sisällysluettelo

Välilehdet

  • Yleiskatsaus
  • Tiedot
  • Historia

Yleiskatsaus-välilehti

Yleiskatsaus-välilehti keskittyy Käytettävissä olevaan muistiin:

  • Pyöreä mittari, joka näyttää käytettävissä olevan prosenttiosuuden.
  • Käytettävissä oleva määrä ja laitteen kokonais-RAM.
  • Tiivis jakautumistaulukko: Vapaa, Epäaktiivinen, Aktiivinen, Lukittu.

Käytä tätä näkymää, kun haluat nopeasti tarkistaa "onko laite kunnossa juuri nyt". Jos neljän rivin jakautuma ei täsmää kokonaismäärään, katso Pakkaus ja ”Muu”.

Yleiskatsaus: Käytettävissä olevan muistin mittari sekä Vapaa/Epäaktiivinen/Aktiivinen/Lukittu -jakautuma.

Tiedot-välilehti

Tiedot-välilehti tarjoaa tarkemman jaottelun:

  • Muistin allokaatio -kaavio (Aktiivinen/Lukittu/Epäaktiivinen/Vapaa).
  • Yksityiskohtainen muistitiedot -taulukko, jossa koko ja prosenttiosuus.
  • Käytettävissä-rivi, joka yhdistää Vapaa + Epäaktiivinen.

Tämä on paras paikka ymmärtää, millainen muisti on käytössä (ja onko se todennäköisesti vapautettavissa). Jos Vapaa/Epäaktiivinen/Aktiivinen/Lukittu -prosentit eivät summaudu sataan, syynä on yleensä se, että osa muistista on tällä hetkellä Pakattuna tai ”Muuna”.

Tiedot: allokaatio­kaavio sekä yksityiskohtainen taulukko kokoineen ja prosentteineen.

Historia-välilehti

Historia-välilehti auttaa ymmärtämään kehityssuuntia yksittäisen hetken sijaan:

  • Muistin allokaation historia: pinottu aikajana Vapaa/Epäaktiivinen/Aktiivinen/Lukittu.
  • Muistin käytön historia: yksinkertaistettu näkymä kokonaiskäytöstä ajan myötä.

Käytä Historiaa, kun:

  • Epäilet muistivuotoa tai hallitsematonta kuormaa (käyttö kasvaa tasaisesti).
  • Haluat yhdistää nykimiset/sovellusten uudelleenlataukset muistipaineeseen (käyttö piikkaa ja laskee).
  • Haluat nähdä, kasvaako lukittu muisti ja pysyykö se korkeana (yleensä järjestelmä-/ajuripaine).
Historia: näe, miten muistin allokaatio ja kokonaiskäyttö muuttuvat ajan myötä.

Muistitilat

Lirum käyttää samoja yläkategorioita, joita iOS raportoi. Nämä ovat hyödyllisimmät "mielikuvamallit" iOS-muistille:

KategoriaMitä se yleensä tarkoittaaVoiko iOS vapauttaa sen nopeasti?
VapaaKäyttämätön RAM, valmiina allokoitavaksiKyllä (jo vapaa)
EpäaktiivinenLähinnä välimuisteja ja sivuja, joita ei ole hiljattain käytettyUsein
AktiivinenTyöjoukko, jota käytetään parhaillaanEi suoraan
LukittuKiinnitetty, ei-sivutettava järjestelmämuistiEi
PakattuSivut tallennettu muistipakkaajaanEi suoraan
MuuJäännöskategoria (vaihtelee OS/laitteen mukaan)Riippuu

Käytettävissä (Vapaa + Epäaktiivinen)

Käytettävissä on käytännöllinen mittari: "kuinka paljon tilaa minulla on?".

  • Vapaa: sivut, jotka ovat jo käyttämättömiä.
  • Epäaktiivinen: pääosin välimuistisivuja, jotka voidaan poistaa tai käyttää uudelleen, kun muistia tarvitaan.

Siksi Lirum näyttää Käytettävissä = Vapaa + Epäaktiivinen sekä Yleiskatsaus-mittarissa että Tiedot-taulukossa.

Huom: Käytettävissä ei takaa, että järjestelmä antaa sinulle heti tuon määrän muistia ilman mitään toimenpiteitä. Epäaktiivisten sivujen vapauttaminen voi vaatia työtä (välimuistien tyhjennys, likaisen datan tallennus, välimuistien uudelleenrakennus myöhemmin).

Käytännössä:

  • Jos Käytettävissä on korkea ja vakaa, laitteella on yleensä pelivaraa, vaikka Vapaa olisi matala.
  • Jos Käytettävissä on jatkuvasti matala (ja pysyy matalana normaalissa käytössä), iOS:llä on vähemmän välimuistia vapautettavaksi ja se voi alkaa käyttää voimakkaampia keinoja (pakkaus, sovellusten sulkeminen).
  • Lyhyt notkahdus sovelluksen avauksessa on normaalia. Hidas, tasainen lasku, joka ei palaudu, on tyypillinen "muistipaineen" merkki.

Lukittu

Lukittu muisti on RAM-muistia, joka on kiinnitetty (ei-sivutettava) eikä sitä voi pakata tai vapauttaa tarpeen mukaan.

Ajattele Lukittua muistia "aina paikalla pysyvänä" muistina. Sen omistaa yleensä ydin ja matalan tason järjestelmäpalvelut, ja se on välttämätöntä oikeellisuuden tai reaaliaikaisuuden vuoksi.

Tyypillisiä esimerkkejä:

  • Ytimen muisti ja ydintason palvelut
  • Laitteistoajurit ja DMA-puskurit
  • Grafiikka-/näyttöpinnat ja osa GPU-allokaatioista
  • Muisti, jonka on pysyttävä paikallaan reaaliaikaisuuden tai oikeellisuuden vuoksi

Miksi sillä on väliä:

  • Lukittu muisti on joustamattomin kategoria. Jos se kasvaa suureksi, iOS:llä on vähemmän keinoja vapauttaa RAM-muistia, joten muistipaine kasvaa nopeammin.
  • Laitteella voi olla vähän Vapaata muistia ja silti toimia hyvin, mutta jatkuvasti korkea Lukittu on vaikeampi iOS:n kiertää.

Yleisiä ilmiöitä:

  • Lukittu voi kasvaa kameran käytössä, AR:ssa, peleissä, videoputkissa, raskaassa I/O:ssa tai ulkoisten lisälaitteiden kanssa.
  • Lukittu on usein "tahmeaa". Osa lukituista allokaatioista ei pienene nopeasti, ja osa nollautuu vasta uudelleenkäynnistyksessä.
  • Jos Lukittu kasvaa tasaisesti eikä laske, se voi viitata jatkuvaan järjestelmätason paineeseen (tai vuotoon järjestelmäpalveluissa tai ajureissa).

Aktiivinen

Aktiivinen muisti on RAM-muistia, jota käytetään parhaillaan (viitataan usein) sovellusten ja järjestelmän toimesta.

Aktiivinen ei ole vain "sovellusmuistia". Se sisältää kaikki sivut, joita käyttöjärjestelmä pitää tällä hetkellä kuumina, mukaan lukien tiedostopohjaiset sivut (esim. koodi ja kirjastot) sekä anonyymit sivut (esim. keot ja pinot).

Tyypillisiä esimerkkejä:

  • Sovellusten keot ja työjoukot
  • Käytössä olevat tiedostovälimuistit ja dekoodatut mediat
  • Tietorakenteet, joita järjestelmä/sovellus aktiivisesti käsittelee

Miksi sillä on väliä:

  • Aktiivinen muisti ei ole "hukkaa"; se on työmuistia. Se seuraa yleensä tekemistäsi.
  • iOS ei voi yksinkertaisesti "vapauttaa" aktiivisia sivuja ilman seurauksia. Paineessa iOS yrittää ensin vapauttaa välimuisteja; jos se ei riitä, se pakkaa muistia ja lopulta sulkee sovelluksia.

Yleisiä ilmiöitä:

  • Aktiivinen kasvaa yleensä, kun avaat sovelluksia ja teet töitä, ja voi laskea, kun sovelluksia suljetaan tai niiden sivut muuttuvat epäaktiivisiksi.
  • Jos Aktiivinen kasvaa jatkuvasti, vaikka kuorma ei muutu (tai laite on joutilaana), se voi viitata muistivuotoon tai hallitsemattomaan välimuistiin sovelluksessa.

Epäaktiivinen

Epäaktiivinen muisti on RAM-muistia, jota on käytetty hiljattain ja jota pidetään nyt pääosin välimuistina.

Epäaktiivinen on iOS:n tärkein "nopea vapautus" -vara. Suuri osa epäaktiivisesta muistista on puhdasta tiedostovälimuistia, joka voidaan poistaa ja rakentaa uudelleen tarvittaessa.

Tyypillisiä esimerkkejä:

  • Välimuistissa olevat tiedostosivut
  • Hiljattain käytetty sovellusmuisti, joka voidaan käyttää uudelleen
  • Data, johon ei aktiivisesti viitata, mutta jota pidetään varalla mahdollisen tarpeen vuoksi

Miksi sillä on väliä:

  • Epäaktiivinen on yleensä ensimmäinen paikka, josta iOS vapauttaa muistia uuden allokaation tarpeessa.
  • Korkea Epäaktiivinen on usein hyvä asia: se tarkoittaa, että iOS käyttää RAM-muistia tehokkaasti välimuistina.

Yleisiä ilmiöitä:

  • Epäaktiivinen kasvaa usein sovellusten avauksen, tiedostojen lukemisen, median selaamisen tai verkkosisällön lataamisen jälkeen (sivut muuttuvat välimuistiksi).
  • Muistipaineessa Epäaktiivinen laskee, kun iOS käyttää välimuistisivuja uusiin allokaatioihin.
  • Jos Epäaktiivinen on jo matala ja Käytettävissä pysyy matalana, iOS:llä on vähemmän "helppoa" muistia vapautettavaksi ja paine voi iskeä nopeammin.

Vapaa

Vapaa muisti on RAM-muistia, joka on tällä hetkellä allokoimaton ja heti käytettävissä.

iOS:llä Vapaa on usein matala tarkoituksella. Käyttöjärjestelmä pyrkii pitämään RAM-muistin aktiivisena välimuistina, jotta seuraava sovelluksen avaus, selaus tai tiedostonluku olisi nopeampi.

Miksi sillä on väliä:

  • Vapaa on iOS:llä usein pieni, vaikka laite olisi kunnossa, koska iOS käyttää RAM-muistia mieluummin välimuistina (Epäaktiivinen) kuin jättää sen käyttämättömäksi.
  • Matala Vapaa ei yksinään ole ongelma, jos Epäaktiivinen on kunnossa eikä laitteella ole muistipainetta.

Pakattu ja ”Muu” (miksi luvut eivät aina täsmää)

Sovelluksessa iOS raportoi myös muita muistiluokkia, kuten Pakattu muisti, sekä muita järjestelmäallokaatioita, jotka eivät sovi neljään pääluokkaan.

Pakattu muisti on RAM-muistia, jonka iOS on tiivistänyt tallentamalla sivut pakatussa muodossa. Tämä on yksi iOS:n tärkeimmistä muistipaineen lievityskeinoista:

  • Pakkaus säästää RAM-muistia, mutta käyttää silti muistia (ja CPU:ta pakkaamiseen ja purkuun).
  • Nouseva pakatun muistin määrä kertoo usein, että järjestelmä yrittää välttää sovellusten sulkemista.
  • Jos pakattua sivua käytetään uudelleen, iOS:n täytyy purkaa se, mikä voi lisätä viivettä ja CPU-kuormaa.

Muu on jäännöskategoria kaikelle, mitä neljä pääluokkaa eivät kata. Se voi sisältää erilaisia järjestelmäallokaatioita ja VM-luokkia, joita iOS raportoi eri tavoin eri OS-versioissa ja laitteissa.

Lirumissa:

  • Yleiskatsaus-jakautuma ja Tiedot-kaavio keskittyvät neljään yleisimmin tulkittuun tilaan: Vapaa, Epäaktiivinen, Aktiivinen, Lukittu.
  • Kokonaismuisti on laitteen fyysinen RAM.

Tämän vuoksi neljän rivin jakautuma ei välttämättä täsmää tarkalleen kokonaismäärään kaikilla laitteilla ja OS-versioilla. "Puuttuva" osuus on tyypillisesti Pakattua muistia sekä sekalaisia järjestelmäallokaatioita (Muu).

Mitä iOS tekee muistipaineessa

Kun RAM-muisti käy vähiin, iOS käyttää yleensä vaiheittaista muistipaineen hallintaa:

  • Välimuistien vapautus ensin: käytetään Vapaa-sivuja, sitten vapautetaan Epäaktiivisia välimuisteja (puhdas tiedostovälimuisti, osa välimuisteista).
  • Muistin pakkaus: tallennetaan vähemmän käytettyjä sivuja pakatussa muodossa, jotta sovellusten sulkemista voidaan viivyttää.
  • Sovellusten sulkeminen: jos paine jatkuu, iOS voi sulkea taustasovelluksia (ja lopulta myös etusovelluksia) vapauttaakseen muistia. Tämä näkyy usein sovellusten uudelleenlatauksina, kun palaat niihin.

Muisti-työkalu on hyödyllisin, kun seuraat näiden vaiheiden etenemistä ajan myötä Historia-välilehdellä.

Miten tulkita luvut

  • Käytettävissä (Vapaa + Epäaktiivinen) on nopein "pelivara"-mittari.
  • Lukittu on vaikein kategoria. Jos Lukittu kasvaa, järjestelmällä on vähemmän keinoja käytettävissä.
  • Epäaktiivinen on usein suuri, mikä on normaalia ja hyvä (välimuisti). Sen pitäisi laskea, kun muistia tarvitaan.
  • Jos Aktiivinen + Lukittu kasvaa ja Käytettävissä pienenee ajan myötä, saatat nähdä sovellusten uudelleenlatauksia, nykimistä tai järjestelmäpainetta.
  • Käytä Historia-välilehteä trendien arviointiin. Yksittäisiä hetkiä on helppo tulkita väärin iOS:llä, koska käyttöjärjestelmä käyttää RAM-muistia aggressiivisesti välimuisteihin.
  • Jos näet Käytettävissä-muistin tasaisen laskun toistettavassa tilanteessa, se on vahvempi merkki ongelmasta kuin yksittäinen luku.

Huomautukset ja rajoitukset

  • iOS hallitsee muistia automaattisesti; matala Vapaa muisti ei ole itsessään ongelma.
  • Arvot ja kategoriat vaihtelevat laitteen ja käyttöjärjestelmän mukaan, ja päivittyvät jatkuvasti työkalun ollessa auki.
  • Muisti-työkalu näyttää järjestelmänlaajuisen muistintilan (ei sovelluskohtaista jaottelua).
  • Joillakin iPad-malleilla ja OS-versioilla järjestelmä voi käyttää tallennustilaa swapina. Muisti-työkalu keskittyy fyysiseen RAM-muistiin eikä visualisoi swapin käyttöä.