Phil Bull
philbull@gmail.com 2011
Michael Hill
mdhillca@gmail.com 2011, 2014
Hukommelseskortet af en proces kan hjælpe med at diagnosticere visse hukommelsesproblemer.
scootergrisen
2020-2021

# Hvad er et hukommelsesområde?

Virtuel hukommelse repræsenterer den samlede fysiske hukommelse og swapplads i et system. Den gør det muligt for kørende processer at tilgå mere end den fysiske hukommelse, ved at kortlægge placeringer i den fysiske hukommelse til filer på disken.

Når et program startes, så tildeler systemet det et unikt proces-id (PID) og dens instruktioner og data indlæses i hukommelse i sider. Sidetabellen på hver proces kortlægger korrespondancen mellem dens sider i virtuel hukommelse og deres placering i fysisk hukommelse. Hukommelsesområdet viser processens samlede forbrug af virtuel hukommelse og kan bruges til at fastslå hvor meget hukommelse det koster at køre en enkelt eller flere instanser af programmet, for at sikre brugen af de korrekte delte biblioteker, for at se resultaterne efter justering af diverse parametre som programmet har til at tune ydelsen, eller til at diagnosticere problemer såsom hukommelseslæk.

Hvis flere kopier af et program kører, så skal programmets instruktioner (eller tekst) kun indlæses én gang i fysisk hukommelse. Hver gang der startes en ny instans af programmet (som en unik proces med sine egne virtuel hukommelse-sider), så kortlægger dets sidetabel placeringen af teksten i virtuel hukommelse til de instruktioner i den oprindelige placering i rigtig hukommelse. Derudover vises dynamisk delte biblioteker som bruges af processen som særskilte i virtuel hukommelse, men er delte referencer til en enkelt kopi af bibliotekets tekstsegment i rigtig hukommelse. Når der redegøres for den samlede brug af hukommelse af en proces, så er det vigtigt at bemærke at prisen for delte biblioteker som er indlæst i hukommelse kan spredes over alle processer som bruger dem i øjeblikket.

Når systemet har brug for flere sider med hukommelse end der er tilgængelig, så vil nogle af de eksisterende sider blive “paged out” eller skrevet til swappladsen. Tekstsider får flaget skrive-køre i hukommelse og har behøver ikke at blive skrevet til swap eftersom de kan genindlæses fra deres oprindelige placering på disk. Datasider har læse-/skrivetilladelser og hvis de er blevet ændret mens de var i hukommelse, så får de etiketten snavset, og skal byttes ud når det er blevet besluttet. Når en side i swapplads kræves af en kørende proces, så skal den byttes tilbage inden brug, hvilket måske forårsager at en anden side bliver “paged out”.