Forstå Impact RAM på den totale system Performance


Før jeg begynner

Før jeg kommer i gang, vil jeg påpeke at denne artikkelen gjør et par forutsetninger. Først, jeg antar at du kjører enten Windows 2000, Windows XP eller Windows Server 2003 på en 32-biters datamaskin. Den andre forutsetningen som jeg gjør er at datamaskinen i spørsmålet er relativt nytt, og at det ikke er grovt underpowered. Informasjonen i denne artikkelen kan ikke holde sant for andre versjoner av Windows, 64-bits systemer, eller for datamaskiner som er grovt utdatert.

Windows og Memory

En av de viktigste grunnene hvorfor minne er en så viktig ressurs har å gjøre med måten Windows gjør bruk av den. Når den første versjonen av Windows ble opprettet, minne var tøft å komme med. Minne var ekstremt dyre, og selv om du hadde råd til det, ble datamaskiner på den tiden svært begrenset hvor mye minne de ville akseptere. Selv så sent som på midten av 1990-tallet, minne var fortsatt et stort problem. For eksempel, min første Pentium datamaskin kom med 8 MB RAM og støttes bare maksimalt 64 MB. Dette kan virke latterlig liten etter dagens standard, men på den tiden minne prisene på så høyt som $ 50 per MB var ikke uvanlig.

De høye priser og begrenset hovedkort kapasiteter laget minne mangelvare for å si det mildt. På grunn av dette, har Microsoft alltid lov Windows til å stole på det virtuelle minnet til en viss grad. Ideen bak virtuelt minne er at siden harddiskplass koster så mye mindre per megabyte enn fysisk RAM, kan Windows bruke plass på harddisken for å kompensere for mangler i systemets RAM.

Virtuelt minne virket som en ideell løsning i de tidlige dager av Windows, men det var noen ulemper med å bruke virtuelt minne som fortsatt holder til stede i dag. Et problem med å bruke virtuelt minne er at harddisken er mye tregere enn fysisk minne. Faktisk er minnetider målt i nanosekunder, eller milliarddeler av et sekund. Tilgangen til harddisken på den annen side måles i millisekunder, eller tusendeler av et sekund.

Et annet problem med virtuelt minne er at det kan ikke brukes direkte. For eksempel anta at en side i minnet er skrevet til virtuelt minne og senere, må datamaskinen til den siden av data. Datamaskinen kan ikke få tilgang til data direkte fra harddisken på noen meningsfull måte. I stedet må den side av data kopieres til RAM før datamaskinen kan arbeide med data. Denne prosessen er kjent som personsøker.

Som du kan se, bremser øker et system ned fordi datamaskinen har for å stoppe og vente mens data kopieres fra harddisken til systemminnet. I virkeligheten er imidlertid paging faktisk mer ineffektiv enn du kanskje først forventer. Her er problemet ... som du vil huske, grunnen til at vi har virtuelt minne i første omgang er fordi datamaskinen ikke har nok RAM til å støtte operativsystemet behov. Hvis systemet minne er fullt, så maskinen kan ikke bare kopiere en side med data fra harddisken til RAM. Det er ingen steder for datamaskinen for å sette dataene. At det å være tilfelle, har operativsystemet for å finne en side med data i RAM som ikke er i bruk, og deretter flytte dataene på harddisken for å gjøre plass til data som er nødvendig for å bli flyttet fra harddisken til systemets minne

Hvis du tror at paging er ineffektiv, bare vent.; det blir verre. Øker er en prosess som må forvaltes. Datamaskinen må bruke minne til å holde oversikt over minnebruk. Det er riktig, har systemet til å vie litt minne til oppgaven med å holde en oversikt over hvilke sider som er i RAM, og hvilke sider som er i virtuelt minne. Likeledes må systemet bruker en betydelig mengde CPU-sykluser flytting av data mellom fysisk RAM og virtuelt minne. For å si det enkelt, datamaskiner kjører mye raskere når de ikke trenger å bekymre deg for personsøking.

OK, tid for en reality check. I begynnelsen av denne artikkelen, nevnte jeg at fysisk minne er ofte den oppgradering som gir deg mest bang for the buck. Forhåpentligvis nå du forstår at grunnen til dette er at å legge fysisk RAM reduserer Windows avhengighet av virtuelt minne, som igjen frigjør CPU og disk ressurser, noe som gjør datamaskinen kjøre mer effektivt. At det å være tilfelle, kan du anta at den beste tingen å gjøre er å legge masse RAM til systemet og deaktivere virtuelle minnebruk helt.

Selv om dette er absolutt et alternativ, er det vanligvis ikke en god idé å deaktivere Windows "virtuell minnebruk. Windows er designet for å bruke virtuelt minne, og dermed forventer operativsystemet virtuelt minne for å være tilgjengelig for det. Windows har en tendens til ikke å fungere som pålitelig hvis du deaktiverer virtuelt minne.

Du kan anta skjønt at jo mer fysisk minne du putter inn i maskinen, jo mindre virtuelle minnemaskin behov. Tross alt, finnes det virtuelle minnet bare å ta opp RAM mangel, ikke sant? Vel, dette er hvor ting blir litt rart. Ideen om at å legge ekstra RAM til systemet reduserer maskinens behov for virtuelt minne er bare halvparten sant.

Her er tingen. Som en generell regel, anbefaler Microsoft at du konfigurere en maskin virtuelle minnebruk basert på mengden fysisk RAM som er installert i maskinen. Mer spesifikt, anbefaler Microsoft at din maskin har 1,5 ganger mer virtuelt minne enn fysisk minne. Dette betyr at hvis maskinen har 512 MB RAM, deretter Windows forventer å ha tilgang til minst 768 MB virtuelt minne.

Nå anta at du besluttet at det å ha 512 MB RAM bare var ikke å få jobben gjort, så du har besluttet å oppgradere maskinen til å ha totalt 1 GB RAM. Ved å gjøre det, har du faktisk økt Windows 'virtuelle minnekrav. Windows vil nå forvente at maskinen skal ha 1,5 GB RAM tilgjengelig.

Alt er ikke hva det virker som om. Bare fordi du har økt størrelsen på maskinens pagefile (filen brukes som virtuelt minne), betyr ikke at maskinen bruker pagefile mer tungt. Vanligvis er det motsatte sant. Installere mer minne i maskinen gjør det mindre sannsynlig at Windows må side noe i det hele tatt. Selv om Windows har fortsatt å bruke det virtuelle minnet til en viss grad, vil den ekstra minne som er installert bidra til å sikre at sidene knyttet til programmet som kjører i forgrunnen ikke vekslet. Dette bidrar programmet til å være mer lydhør og å gi brukeren bedre total ytelse.

Er det en grense?

Som du kanskje husker, i begynnelsen av denne artikkelen, jeg nevnte at informasjonen i denne artikkelen bare gjaldt 32-bits systemer, og ikke nødvendigvis for 64-bits systemer. Sannheten er at selv 64-bits systemer er avhengige av virtuelt minne, men 32-bits og 64-bits versjoner av Windows bruker helt ulike minnemodeller.

Det faktum at 32-bits systemer har bare 32-bits med data å jobbe med midler at de bare kan håndtere opptil 4 GB RAM. En 64-bits system på den annen side kan teoretisk ta opptil 16 exabyte med RAM (Det er over 16 millioner GB RAM). I virkeligheten skjønt, er det få, om noen, 64-bits systemer som støtter 16 exabyte med RAM. Bygge en maskin som støtter så mye minne ville være svært dyrt. For å motvirke denne kostnaden, mange produsenter pålegge RAM adresse plass grenser som ligger et sted mellom 4 GB grense på 32-bits maskiner og de teoretiske 16 exabyte at en 64-bit system bør være i stand til å ta opp. De fleste eksisterende 64-bits systemer begrense fysisk RAM til et sted mellom 8 GB og 256 TB.

Så hva betyr dette 4 GB grense bety for 32-bits maskiner som kjører et Windows operativsystem? Windows er designet for å håndtere en full 4 GB minne. Windows splitter 4 GB ledig minne adresserommet i to separate 2 GB adresserom. En av de to GB adresserom brukes av Windows-operativsystemet, og den andre 2 GB adresserom brukes for brukermodusprosesser (applikasjoner).

Som en side note, det er faktisk en måte å endre måten Windows tildeler adresse mellomrom. Du har kanskje sett en og annen Windows Server utplassering der det var en /3GB-bryteren brukes i serverens boot.ini-filen. /3GB-bryteren endrer minnetildeling slik at Windows er bare tildelt 1 GB adresserom, og brukermodusprosesser er tildelt 3 GB adresseområdet. Splitte adresseområdet som dette bidrar til Windows for å bedre håndtere høy etterspørsel applikasjoner som Exchange Server. Imidlertid er Windows konfigurert til å ha en 2 GB adresserom for operativsystemet for en grunn. Hvis du bruker /3GB-bryteren, kan du sterkt påvirke Windows muligheten til å kjøre flere programmer samtidig. Videre bør du aldri bruker /3GB-bryteren på Small Business Server eller på en domenekontroller.

Så med dette i bakhodet, millioner dollar spørsmålet er, hvordan er virtuelt minne implementert på et system som har 4 GB fysisk RAM? Dessverre, jeg har ikke vært i stand til å få et klart svar fra Microsoft, og jeg vet faktisk ikke eier en maskin som har 4 GB RAM, så jeg basere dette svaret på logikk. Hvis noen har et klart svar om, kan du sende meg en e-postmelding fordi jeg ønsker å vite.

Det virker for meg at hvis Windows kan bare bevilge 4 GB adresserom, så ville det ikke være grunn til å holde virtuelle minnet aktivert på en maskin med 4 GB RAM. Selv om noen små mengder virtuelt minne var nødvendig skjønt, er det ingen måte at regelen om å sette det virtuelle minnet størrelse til 1,5 ganger det fysiske minnet størrelse ville gjelde. Gjør du det ville bety at maskinen vil ha 6 GB virtuelt minne og 4 GB fysisk minne for totalt 10 GB minne. Det kan være OK for en 64-bit system, men det ville virkelig ikke jobbe for en 32-bit system med en 4 GB adresserom grense.

Konklusjon

I denne artikkelen, jeg har forklart at minnet kan ha en stor innvirkning på systemets ytelse. Som fysiske RAM øker, maskinens avhengighet av virtuelt minne avtar. Jo mindre en datamaskin har til å avhenge av virtuelt minne, jo mer effektivt at maskinen kjøres.



Previous:
Next Page: