Windows Vista-SuperFetch & ReadyBoost
först publicerad på TECHNET den Mar 29, 2007
idag kommer vi att diskutera två nya Vista – prestandaförbättringar, SuperFetch & ReadyBoost. Vi kommer också att diskutera Vista RAM-användning eftersom dessa alla fungerar tillsammans.
för det första är SuperFetch en förbättring av Prefetcher som du förmodligen har sett nämnt i tidigare versioner av Windows. Prefetcher ansvarar för att lagra programinformation så att ofta använda program och processer kan köras snabbare. I Vista har Prefetcher justerats och ändrats för att vara mycket mer aggressiv och intelligent i sin caching för att ge ännu större prestanda. Denna nya funktionalitet kallas SuperFetch.
SuperFetch håller reda på vilka program du använder mest och laddar denna information i RAM så att program laddas snabbare än de skulle om hårddisken måste nås varje gång. Windows SuperFetch prioriterar de program du för närvarande använder över bakgrundsuppgifter och anpassar sig till hur du arbetar genom att spåra de program du använder oftast och förinstallera dessa i minnet. Med SuperFetch körs bakgrundsuppgifter fortfarande när datorn är inaktiv. Men när bakgrundsuppgiften är klar, Superfetch repopulerar systemminnet med de data du arbetade med innan bakgrundsuppgiften sprang. Nu, när du återvänder till ditt skrivbord, dina program kommer att fortsätta att köra så effektivt som de gjorde innan du lämnade. Det är till och med smart nog att veta vilken dag det är om du använder olika applikationer oftare på vissa dagar.
OK, så hur påverkas RAM-användningen? Du kanske har märkt att Vista tenderar att använda en mycket större andel systemminne än på Windows XP. Det är inte ovanligt att visa uppgiftshanteraren på en Vista-maskin med flera GB RAM installerat och mindre än 100 MB RAM visas som gratis. Till exempel, här är en skärmdump av Task Manager från maskinen jag arbetar på nu.
som du kan se har den här maskinen 4GB RAM och använder bara ca 2.2 gb med tanke på de applikationer Jag har öppet (Jag kör för närvarande Outlook 2007, Word 2007, Windows Live Writer Beta , flera instanser av IE7 med flera flikar öppna och några av mina dagliga verktyg) men det visar gratis fysiskt minne på bara 59mb. Vid första anblicken verkar detta vara något att oroa sig för och det tenderar att göra människor lite nervösa, men när du väl överväger effekterna av SuperFetch blir detta tillstånd mindre oroande.
många människor tenderar att tänka på RAM som någon form av resurs, och när det börjar bli vant, tror de att de har ett problem. I verkligheten är dock RAM mer som en cache. Om ditt system bara använder en liten andel av din cache är ett stort slöseri. Föreställ dig hur din processor skulle fungera om dess L2-cache aldrig använde mer än 25% av sin kapacitet. L2-cache är en liten mängd höghastighetsminne som möjliggör höghastighetsåtkomst till systemets vanligaste åtkomstdata.
i tidigare versioner av Windows var Prefetcher inte särskilt aggressiv när det gäller att fylla RAM. Med Windows Vista försöker SuperFetch dock sitt bästa för att använda så mycket RAM som möjligt, för om du har det kan du lika bra använda det.
som du kanske märker på skärmdumpen ovan visar den bara cirka 2,2 GB RAM som används, men visar inte resten som gratis. Detta beror på att data i cachen anses vara mycket låg prioritet och alla processer som kommer in och behöver använda RAM kommer att spola ut dessa data transparent för användaren eller processen. Så minnet används, men vad gäller processerna är det tomt. Så vad det här handlar om är att även om du ser att du har väldigt lite fysiskt minne gratis, är det troligtvis inget att oroa sig för, det är bara SuperFetch som fungerar. Som sagt, om du har flera program som använder massor av RAM, kan detta fortfarande orsaka systemresursutarmning, men du skulle kunna se det i Minnesanvändningsgrafen i Aktivitetshanteraren. Om du inaktiverar SuperFetch, fungerar Windows Vista mer som Windows XP när det gäller Prefetcher. SuperFetch känner också automatiskt igen och använder all kapacitet som erbjuds av lagringsenheter förbättrade för ReadyBoost och ReadyDrive för högpresterande diskcaching.
nu när vi har introducerat SuperFetch, låt oss gå vidare till ReadyBoost. När vi pratar om sätt att förbättra datorns prestanda är en av de första sakerna vi tänker på att lägga till minne (RAM) i ett system. Ju mer Minne ett system har, desto mindre måste det komma åt hårddisken för att köra applikationer. Att lägga till RAM i ett system är dock inte alltid ett genomförbart alternativ – antingen för att maskinen inte har någon kapacitet för ytterligare expansion eller för att RAM i sig inte är billigt. Kom ihåg – det är viktigt att se till att du förstår skillnaden mellan SuperFetch som utför intelligent caching med tillgängligt RAM och flera program som orsakar resursutarmning på grund av mängden RAM som de använder.
så vad tar ReadyBoost till bordet? ReadyBoost är en ny funktion som gör att Windows Vista kan använda icke-flyktigt minne flashminne som ett USB-minne eller SD-kort för att förbättra systemets prestanda. Hårddiskar är bra för stora sekventiella I/O. För dessa situationer används inte ReadyBoost. Hantering av små disktransaktioner är mycket snabbare på solid state-minne jämfört med hårddiskar, men avvägningen är att den kontinuerliga genomströmningshastigheten för ett USB-minne eller SD-kort inte staplas bra mot en hårddisk. ReadyBoost skapar en kopia av en del av diskcachen och placerar den i flashminnet. Alla sidor på enheten stöds av en sida på disken.
Diskcache används av systemet för att cacha nyligen använda data. ReadyBoost använder den intelligenta minneshanteringen av Windows SuperFetch för att välja små mängder data som är långsamma att komma från hårddiskcachen och gör en kopia av dem på flashenheten. Det är viktigt att komma ihåg att detta bara är en kopia, så även om pinnen är urkopplad går ingen data förlorad och systemet fortsätter. Nettoresultatet är att när systemet behöver komma åt små bitar av icke-sammanhängande data kan det få det mycket snabbare från flashenheten än hårddisken. Om systemet behöver komma åt större bitar av data använder det helt enkelt hårddisken. Vid denna tidpunkt är det viktigt att påpeka att vi använder AES-128 för att kryptera allt som vi skriver till enheten, så om du tar bort enheten är dina data lagrade på enheten fortfarande säkrade.
OK-så vad är riktlinjerna för att använda ReadyBoost? Rent generellt, det rekommenderas att ha minst en 1:1 förhållandet mellan solid state-minne till RAM. Så om du har 2 GB RAM, bör du ha minst ett 2 GB USB-minne eller SD-kort. Det skulle anses vara det ideala minimumet. I den andra änden av spektrumet kan du ha ETT 2,5:1-förhållande mellan solid state-minne och RAM. Den övre gränsen för flash som kan användas för ReadyBoost är dock 4 GB (på grund av begränsningarna i FAT32-filsystemet).
så vilken typ av hastighet ökar är du sannolikt att se? I all ärlighet-det kommer att variera från system till system. På en maskin med endast 1 GB RAM som används kraftigt kommer ReadyBoost att ge en märkbar prestandaökning. Omvänt på ett system med 4 GB RAM som inte riktigt stressas av applikationsanvändning kommer fördelarna med ReadyBoost inte att vara uppenbara.
där har du det – en snabb introduktion till ReadyBoost. Den bästa delen av ReadyBoost är att implementera det är enkelt; allt du behöver göra är att ansluta en kompatibel pinne och välj alternativet ”snabba upp mitt system med ReadyBoost” i autoplay-gränssnittet. Konfigurationsalternativen för ReadyBoost är mycket enkla-som du kan se från bilden till vänster har du två val när du ansluter enheten – om du vill använda ReadyBoost eller inte och hur mycket utrymme på enheten som ska tilldelas Ready Boost. För icke-tekniska användare kan det vara en skrämmande uppgift att öppna fallet med sina hemsystem och lägga till RAM, men att gå ner till den lokala datorbutiken och plocka upp ett billigt, kompatibelt USB-minne ska vara enkelt nog!
här är kraven för en ReadyBoost-kompatibel USB-enhet:
- USB-nyckeln måste vara minst USB 2.0
- enheten måste kunna göra 3.5 MB/s för 4 KB slumpmässigt läser enhetligt över hela enheten och 2.5 MB/s för 512 KB slumpmässigt skriver enhetligt över enheten.
- USB-nyckeln måste ha minst 64 MB ledigt utrymme