Hva er Cache-minne i Linux?

Hva er Cache-minne i Linux?


I Linux, er bufferminnet et område på random access memory (RAM) brukes som en midlertidig butikk for filer. Dens størrelse vokser og krymper etter behov, og det er brukt i stor utstrekning av kjernen, eller kjernen av operativsystemet, som et middel for å redusere disk aktivitet, noe som resulterer i en vesentlig forbedring i ytelse.

Bakgrunn

Lesing og skriving fra harddisker er treg. Mens dataoverføringshastighet på gjennomsnittlig harddisk er flere hundre megabyte per sekund, er dette fortsatt mye tregere enn RAM. Resultatet er at harddisker er trolig den viktigste flaskehalsen i datamaskinen, og ytelsen vil lide, uansett hvor rask prosessor (CPU) eller minne er.

fordeler

Siden minnet er så mye raskere enn å lese fra en disk, er det fornuftig å bruke den så mye som mulig. En måte Linux gjør dette er ved å mellomlagre ofte tilgang filer i RAM. Neste gang filen er nødvendig, kan den hentes direkte fra hukommelsen, uten behov for å lese fra disken. Linux bruker bare ubrukt minne for dette, så det ikke forstyrrer med minnet som brukes av programmene dine.

Ledelse

Med denne tilnærmingen, må man sørge for å holde data synkronisert. Hvis en bufret fil er endret, må det skrives tilbake til disken på noen scene. Vanligvis Linux buffere slik skriver før det er en del av dataene som skal skrives, heller enn å gjøre mange små skriver. Dette forbedrer den generelle ytelsen til systemet ditt.

Størrelse

Siden minnet er en endelig størrelse, er det vanligvis ikke mulig å cache alt. Beslutninger må gjøres om hvilke filer til cache og når du skal fjerne gamle filer fra mellomlageret. Linux gjør dette ved å opprettholde en registrering av hvor ofte bufrede filer er i bruk og når de sist ble åpnet. Hvis minnet blir kort, vil Linux renske sjeldnere tilgang til filer fra cache i stedet for mer ofte tilgang seg.

Ikke unikt for Linux

Cache-minne er ikke unikt for Linux, men er implementert i noen grad i de fleste moderne operativsystemer. Brukeren ofte ikke vet om detaljene i bufferminnet og er bare klar over minne i bruk av programmer. Dette kan gjøre det vanskelig for nye Linux-brukere å tolke resultatet av kommandoer som "gratis" og kan føre til forvirring om hvor mye minne som er ledig en bruker har.