Kompressoidun muistin ymmärtäminen OS X: ssä

Muistipainotus voi parantaa Macin suorituskykyä

OS X Mavericksin julkaisun myötä Apple muutti muistin hallintaa Macissa. Lisäämällä muistipakkausta Mac voi nyt tehdä enemmän muistia vähemmän samalla kun ylläpitää tai parantaa suorituskykyä. OS X: n vanhemmissa versioissa muistin käyttö rakennettiin melko vakiomuotoisen muistinhallintajärjestelmän ympärille. Sovellukset vaativat RAM-jakelua, järjestelmä täytti pyynnön ja sovellukset palauttivat muistin, kun ne eivät enää tarvitsi sitä.

Käyttöjärjestelmä hoiti suurimman osan likaisesta työstään siitä, kuinka paljon RAM-muistia oli saatavilla ja kuka käytti sitä. Käyttöjärjestelmä selvitti myös, mitä pitäisi tehdä, jos tarvittavan RAM-muistin määrä ei ollut käytettävissä. Tämä viimeinen osa oli tärkein, koska Macin suorituskykyä voisi olla haitallisia, kun järjestelmä yritti käyttää virtuaalimallia (SSD: n tai kiintolevyn vaihtaminen).

Apple tarjosi myös melko hieno työkalu, Activity Monitor , joka muun muassa pystyi seuraamaan Macin RAM-muistin käyttämistä. Vaikka Activity Monitor on edelleen käytettävissä, sen muistinseurantaominaisuudet ovat muuttuneet dramaattisesti, mikä jäljittelee sitä, miten Mac pystyy paremmin hyödyntämään RAM-muistia pakatun muistin avulla.

Pakattu muisti

Pakattu muisti ei ole mikään uusi tai ainutlaatuinen Apple. Tietojenkäsittelyjärjestelmät ovat käyttäneet moninmuotoisia muistipakkauksia jo pitkään. Jos käytit Mac-tietokoneita takaisin 80-luvun puolivälissä ja 90-luvun alussa, saatat muistaa RAM-muistin kaltaisia ​​tuotteita, kuten Connectix, joka paketti RAM-muistia, mikä lisää tehokkaasti Macin käytettävissä olevaa vapaata RAM-muistia. Muistan, että RAM Doubler -kuvake näyttäisi, kun Mac Plus aloitti. Usko minua, Mac Plus, joka oli vain 4 megatavua RAM-muistia, tarvitsi kaiken tuen, jonka RAM Doubler voisi antaa.

Pakatut muistiyhdistykset olivat huonot, koska tietokonepäälliköt ja OS-kehittäjät luoneet parempia muistinhallintajärjestelmiä. Samalla muistihinnat laskivat. Toinen tekijä, joka teki muistipakkausjärjestelmistä menettämästä suosioaan oli suorituskykyongelma. Muistipuristusalgoritmeilla oli voimakas prosessointiteho. Tämä tarkoitti sitä, että vaikka ne antavat sinulle enemmän tekemistä vähemmän fyysisen muistin kanssa, he pyrkivät hellittämään tietokoneesi kun he tarvitsivat pakata tai purkaa muistia.

Muistipakkaus on palannut, lähinnä edullisten moniprosessoreiden saapumisen vuoksi. Kun muistipakkauksen käyttämät rutiinit voidaan ladata yhteen useista prosessorisydämistoista, et todennäköisesti havaitse mitään suorituskykyä, kun muistia on pakattava tai purettava. Se yksinkertaisesti tulee taustatyöhön.

Miten Compressed Memory toimii Macissa

Muistin puristus Macissa on suunniteltu lisäämään käyttöjärjestelmän ja sovellusten suorituskykyä antamalla RAM-resurssien paremman hallinnan ja estämään tai vähentämään merkittävästi virtuaalimuistin käyttöä, joka on tietojen haku Macin asemaan ja Mac-asemasta.

OS X: n Mavericks (tai uudempi) käyttöjärjestelmä etsii epäaktiivista muistia, joka on muisti, joka ei ole aktiivinen, mutta jolla on vielä tietoja, joita sovellus käyttää. Tämä ei-aktiivinen muisti pakkaa tietoja, joita se pitää, joten tieto vie vähemmän muistia. Ei-aktiivinen muisti voi olla sovelluksia, jotka ovat taustalla ja joita ei käytetä. Esimerkki olisi tekstinkäsittelyohjelma, joka on avoin mutta ei aktiivinen, koska olet tekemässä taukoa ja lukemassa pakatusta muistista (muuten, kiitos tämän artikkelin lukitsemisesta ja lukemisesta). Vaikka olet varma internetissä selailemassa, käyttöjärjestelmä pakkaa tekstinkäsittelyohjelman muistia, vapauttaen RAM-muistin käytettäväksi muissa sovelluksissa, kuten Flash-soittimessa, jota käytät elokuvan katselemiseen verkossa.

Puristusprosessi ei ole aktiivinen koko ajan. Sen sijaan käyttöjärjestelmä tarkistaa, kuinka paljon RAM-muistia on käytettävissä. Jos käytössä on huomattava määrä vapaata muistia, pakkausta ei suoriteta, vaikka paljon ei-aktiivista muistia olisi.

Kun vapaata muistia käytetään loppuun, OS alkaa etsiä ei-aktiivista muistia pakata. Pakkaus alkaa vanhimmalla muistiin tallennetuilla tiedoilla, ja se toimii eteenpäin sen varmistamiseksi, että käytettävissä on riittävästi vapaata muistia. Kun tietoja tarvitaan pakatulla RAM-alueella, OS purkaa tiedot lennossa ja tekee sen sovelluksen pyynnöstä. Koska puristus- ja dekompression rutiinit suoritetaan samanaikaisesti jollakin prosessorisydämestä , et todennäköisesti kokene suorituskyvyn menetystä puristuksen / dekompression aikana.

Tietenkin on rajoituksia, mitä pakkaus voi saavuttaa. Jossain vaiheessa, jos jatkat sovellusten käynnistämistä tai käytät muistia sisältäviä sovelluksia, jotka haukkovat RAM-muistia, Macilla ei ole tarpeeksi vapaata tilaa. Aivan kuten aiemmin, OS alkaa vaihtaa inaktiivisia RAM-tietoja Macin asemaan. Mutta muistipakkaus, tämä on todennäköisesti hyvin harvinainen tapaus useimmille käyttäjille.

Vaikka käyttöjärjestelmä lopulta joutuisi muuttamaan muistia asemalle, OS X: n muistihallintajärjestelmä hyödyntää pakattua ei-aktiivista muistia kirjoittamalla pakatut tiedot täyspitkille asemasegmenteille suorituskyvyn parantamiseksi ja SSD- laitteiden kulumisen vähentämiseksi.

Activity Monitor ja Memory Compression

Voit seurata, kuinka paljon muistia pakataan käyttämällä Activity Monitor -muistikorttia. Muistipaineen kaaviossa ilmenee useita pakattuja muistia, joka kertoo, kuinka aktiivisesti OS osallistuu RAM-tietojen pakottamiseen. Kaaviosta tulee vihreä (pieni paine) keltaiseksi (merkittävä paine) ja lopulta punaiseksi, kun ei ole tarpeeksi RAM-tilaa ja muisti on vaihdettava taajuusmuuttajaan.

Joten, jos olet huomannut, että Mac: n näyttäisi olevan hieman enemmän hätää sen suorituskykyyn, koska olet asentanut Mavericksin, se saattaa johtua muistinhallinnan edistyksestä ja muistinpakkauksen palauttamisesta.