da.phhsnews.com


da.phhsnews.com / Hvorfor løser tomt diskplads computere?

Hvorfor løser tomt diskplads computere?


Når du lærer mere om computere og hvordan de fungerer, vil du lejlighedsvis køre på tværs af noget, der ikke synes at give mening. Med det i tankerne, tømmer diskpladsen rent faktisk computere op? Dagens SuperUser Q & A-indlæg har svaret på en forvirret læsers spørgsmål.

Dagens Spørgsmål og Svar-session kommer til os med venlig hilsen af ​​SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.

Skærmbillede høflighed af nchenga (Flickr).

Spørgsmålet

SuperUser læser Remi.b vil vide, hvorfor tømning af diskplads synes at fremskynde en computer:

Jeg har set mange videoer og forstår nu hvordan computere arbejder lidt bedre. Jeg forstår, hvad RAM er, om flygtig og ikke-flygtig hukommelse, og processen med bytte. Jeg forstår også, hvorfor stigende RAM fremskynder en computer.

Hvad jeg ikke forstår, er, hvorfor oprydning af diskplads synes at fremskynde en computer op. Gør det virkelig fart på en computer? Hvis ja, hvorfor gør det?

Har det noget at gøre med at søge efter hukommelsesplads for at gemme ting eller med at flytte ting rundt for at skabe et tilstrækkeligt langvarigt rum for at spare noget? Hvor meget tomt rum skal jeg lade være ledig på en harddisk? Hvorfor synes tømning af diskplads for at fremskynde en computer?

Svaret

SuperUser-bidragsyderen Jason C har svaret for os:

" Hvorfor tømmer diskpladsen fart på computere? "

Det gør det ikke, i det mindste ikke alene. Dette er en rigtig almindelig myte. Grunden til at det er en almindelig myte er, at du ofte oplever harddisken samtidig med andre ting, der traditionelt kan bremse computeren

(A) . SSD-ydeevne er tilbøjelig til at nedbrydes, da de fylder, men dette er et relativt nyt problem, som er unikt for SSD'er, og er ikke rigtig mærkbart for uformelle brugere. Generelt er lav ledig diskplads bare en rød sild. For eksempel ting som:

1.

Filfragmentering. Filfragmentering er et problem (B) , men manglen på ledig plads, men absolut en af ​​mange bidragende faktorer, er ikke den eneste årsag til det. Nogle vigtige punkter her: Sandsynligheden for, at en fil er fragmenteret, er

  • ikke relateret til mængden af ​​ledig plads på drevet. De er relateret til størrelsen af ​​den største tilstødende blok fri plads på drevet (dvs. "huller" af ledig plads), som mængden af ​​ledig plads sker for at sætte en øvre grænse på . De er også relateret til, hvordan filsystemet håndterer filallokering ( mere under ). Overvej: Et drev, der er 95 procent fyldt med al det ledige rum i en enkelt sammenhængende blok, har nul procent chancen for at fragmentere en ny fil (C) (og chancen for at fragmentere en vedhæftet fil er uafhængig af det ledige rum). Et drev, der er fem procent fuldt, men med data spredt jævnt over drevet, har en meget stor chance for fragmentering. Husk at filfragmentering
  • kun påvirker ydeevnen, når de fragmenterede filer bliver tilgængelige . Overvej: Du har et flot, defragmenteret drev, der stadig har masser af gratis "huller" i det. Et fælles scenario. Alt går glat. Til sidst kommer du til et punkt, hvor der ikke er flere store blokke ledig plads tilbage. Du downloader en enorm film, filen ophører med at blive stærkt fragmenteret. Dette vil ikke sænke computeren . Alle dine ansøgningsfiler og lignende, der tidligere var fine, bliver ikke pludselig fragmenterede. Dette kan medføre, at filmen tager længere tid at indlæse (selvom de typiske filmbithastigheder er så lave sammenlignet med harddisklæsningsfrekvenser, at det højst sandsynligt vil være unnoticeable), og det kan påvirke I / O-bundet ydeevne, mens filmen indlæses, men bortset fra det, ændres intet. Mens filfragmentering er et problem, bliver det ofte mildnet af OS og hardware niveau buffering og caching. Forsinket skriver, læser frem, strategier som forforstærkeren i Windows osv., Alle hjælper med at reducere virkningerne af fragmentering. Du plejer generelt ikke
  • faktisk oplever en betydelig virkning, indtil fragmenteringen bliver alvorlig (jeg ville endda risikere at sige, at så længe din swap-fil ikke er fragmenteret, vil du sandsynligvis aldrig mærke). 2.

Søg indeksering er et andet eksempel . Sig, at du har automatisk indeksering tændt og et operativsystem, der ikke håndterer dette yndefuldt. Da du sparer mere og mere indekseret indhold til din computer (dokumenter og lignende), kan indeksering tage længere og længere tid og kan begynde at påvirke computerens opfattede hastighed, mens den kører, både i forbindelse med I / O og CPU . Dette er ikke relateret til ledig plads, det er relateret til mængden af ​​indekseret indhold, du har. Men at løbe tør for ledig plads går hånd i hånd med at lagre mere indhold, hvorfor der opstår en falsk forbindelse. 3.

Anti-virus software (svarende til søgeindekseringseksemplet). Sig, at du har antivirusprogrammer indstillet til at lave baggrundsscanning af dit drev. Da du har mere og mere scannbart indhold, tager søgningen flere I / O- og CPU-ressourcer, hvilket muligvis forstyrrer dit arbejde. Igen er dette relateret til mængden af ​​scannerbart indhold, du har. Flere indhold svarer ofte til mindre ledig plads, men manglen på ledig plads er ikke årsagen. 4.

Installeret software. Sig, at du har installeret en masse software, der laster, når din computer starter, og dermed sænker starttiderne. Denne afmatning sker, fordi masser af software bliver indlæst. Installeret software tager dog plads på harddisken. Derfor reduceres den ledige plads på harddisken samtidig med at dette sker, og igen kan en falsk forbindelse nemt gøres. 5.

Mange andre eksempler langs disse linjer, som når de ses sammen, vises for nært at forbinde mangel på ledig plads med lavere ydeevne. Ovenstående illustrerer en anden grund til, at dette er sådan en fælles myte: Mens manglen på ledig plads ikke er en direkte årsag til at bremse, afinstallere forskellige applikationer, fjerne indekseret eller scannet indhold mv. sommetider (men ikke altid uden for dette svar) øges ydeevnen igen af ​​grunde, der ikke er relateret til den resterende ledige plads. Men det frigiver også naturligvis harddiskplads. Derfor kan der igen foretages en tilsyneladende (men falsk) forbindelse mellem "mere ledig plads" og en "hurtigere computer".

Overvej:

Hvis du har en maskine, der kører langsomt på grund af masser af installeret software mv. ., klon din harddisk (nøjagtigt) til en større harddisk, og udvid dine partitioner for at få mere ledig plads, maskinen vil ikke magisk fremskynde. De samme filer belastes, de samme filer er stadig fragmenteret på samme måder, den samme søgeindekser kører stadig, intet ændres, selvom der er mere ledig plads. "Har det noget at gøre med at søge efter hukommelsesplads for at redde ting? ”

Nej. Det gør ikke. Der er to meget vigtige ting værd at bemærke her:

1.

Din harddisk kører ikke rundt for at finde steder at sætte ting på. Din harddisk er dum. Det er intet. Det er en stor blok af adresseret opbevaring, der blindt sætter ting, hvor dit OS fortæller det og læser, hvad der bliver spurgt om det. Moderne drev har sofistikerede caching- og buffermekanismer, der er designet til at forudsige, hvad OS'et skal bede om baseret på den erfaring, vi har opnået over tid (nogle drev er endda opmærksomme på filsystemet der er på dem), men i det væsentlige tænker på din køre som en stor dum lagerplads med lejlighedsvise bonuspræstationsfunktioner. 2.

Dit operativsystem søger ikke efter steder, hvor man også kan sætte ting. Der er ingen søgning. Der er lagt stor vægt på at løse dette problem, da det er afgørende for filsystemets ydeevne. Måden, som dataene faktisk er organiseret på dit drev, bestemmes af dit filsystem. FAT32 (gamle DOS og Windows-pc'er), NTFS (senere udgaver af Windows), HFS + (Mac), ext4 (nogle Linux-systemer) og mange andre. Selv begrebet "fil" og "katalog" er kun produkter af typiske filsystemer - harddiske kender intet om de mystiske dyr kaldet filer . Detaljer er uden for dette svars anvendelsesområde. Men i det væsentlige har alle almindelige filsystemer måder at spore, hvor ledig plads er på et drev, så en søgning efter ledig plads under normale omstændigheder (dvs. filsystemer i god sundhed) er unødvendigt. Eksempler: NTFS har et masterfiltabel, som indeholder de specielle filer

  • $ Bitmap mv og masser af metadata, der beskriver drevet. I det væsentlige holder det styr på, hvor de næste gratis blokke er, så nye filer kan skrives direkte til gratis blokke uden at skulle scanne drevet hver gang. Et andet eksempel: Ext4 har det, der kaldes bitmap allokeren, en forbedring over ext2 og ext3, der grundlæggende hjælper det med at bestemme, hvor gratis blokke er i stedet for at scanne listen over gratis blokke. Ext4 understøtter også
  • forsinket tildeling , det vil sige buffering af data i RAM ved operativsystemet, før du skriver det ud til drevet for at træffe bedre beslutninger om hvor du skal sætte det for at reducere fragmentering. Mange andre eksempler. " Eller med at flytte ting rundt for at skabe et tilstrækkeligt langvarigt rum for at gemme noget? "
  • Nr. Dette sker ikke, i hvert fald ikke med noget filsystem, jeg er opmærksom på. Filerne ophører blot fragmenteret.

Processen med at "flytte ting rundt for at udgøre et tilstrækkeligt langvarigt sammenhængende rum til at gemme noget" kaldes

defragmentering

. Dette sker ikke, når der er skrevet filer. Dette sker, når du kører din diskdefragmenter. På nyere versioner af Windows sker det i hvert fald automatisk på en skema, men det udløses aldrig ved at skrive en fil. At kunne undgå

at flytte ting rundt som dette er nøglen til filsystemets ydeevne , og derfor opstår fragmentering, og hvorfor defragmentering eksisterer som et separat trin. "Hvor meget tomt rum skal jeg lade være ledig på en harddisk?" Dette er et vanskeligere spørgsmål at besvare (og dette svar er allerede vendt

1.

For alle typer drev:

Det vigtigste er, at du skal have nok ledig plads til

at du bruger din computer effektivt . Hvis du løber tør for plads til arbejde, vil du have et større drev.

  • Mange diskdefragmenteringsværktøjer kræver en minimumsfri ledig plads (jeg tror, ​​at den med Windows kræver 15 procent, værste tilfælde) at arbejde i. De Brug dette ledige plads til midlertidigt at holde fragmenterede filer, da andre ting omarrangeres. Lad plads til andre OS-funktioner. Hvis din maskine f.eks. Ikke har meget fysisk RAM, og du har virtuel hukommelse aktiveret med en dynamisk dimensioneret sidefil, vil du have tilstrækkelig plads til sidens filstørrelse. Eller hvis du har en bærbar computer, som du sætter i dvaletilstand, skal du have nok ledig plads til dvaletilstandsfilen. Slike ting. 2.
  • SSD-specifik:
  • For at opnå optimal pålidelighed (og i mindre grad ydeevne) kræver SSD'er noget ledigt rum, som uden at gå i for meget detaljer bruger spredning af data rundt om drevet for at undgå konstant at skrive til det samme sted (hvilket bærer dem ud). Dette begreb om at forlade ledig plads kaldes over-provisioning. Det er vigtigt,

, men i mange SSD'er eksisterer der allerede obligatorisk overbestemt plads . Dvs., drevene har ofte et par dusin flere GB end de rapporterer til operativsystemet. Nedre enddrev kræver ofte, at du manuelt forlader

  • upartitioneret plads, men for drev med obligatorisk OP, behøver du ikke at forlade nogen ledig plads . En vigtig ting at bemærke her er, at over-ordnet plads er ofte kun taget fra ikke-partitioneret rum . Så hvis din partition optager hele dit drev og du giver lidt ledig plads på det, tæller det ikke altid . Mange gange kræver manuel over-provisioning, at du krymper din partition til at være mindre end drevets størrelse. Tjek din SSD's brugervejledning for detaljer. TRIM, affaldssamling og lignende har også effekter, men de falder uden for dette svar. Personligt tager jeg normalt et større drev, når jeg har omkring 20-25 procent ledig plads tilbage. Dette er ikke relateret til ydeevne, det er bare, at når jeg kommer til det punkt, forventer jeg, at jeg nok vil løbe tør for plads til data snart, og det er på tide at få et større drev. Vigtigere end at se ledig plads er at sørge for, at planlagt defragmentering er aktiveret, hvor det er hensigtsmæssigt (ikke på SSD'er), så du aldrig kommer til det punkt, hvor det bliver dårligt nok til at påvirke dig. Der er en sidste ting værd at nævne. Et af de andre svar her nævnte, at SATA's halvduplex-tilstand forhindrer læsning og skrivning på samme tid. Selv om det er sandt, er dette meget oversimplificeret og er for det meste ikke forbundet med de præstationsspørgsmål, der diskuteres her. Det betyder simpelthen, at data ikke kan overføres i begge retninger

på ledningen

på samme tid. SATA har dog en ret kompleks specifikation, der involverer små maksimale blokstørrelser (ca. 8 kB pr. Blok på ledningen tror jeg), læser og skriver driftskøer mv. Og udelukker ikke, at der skrives til buffere, der sker, mens læsninger pågår, interleaved operationer mv.


Enhver blokering, der opstår, skyldes at konkurrere om fysiske ressourcer, sædvanligvis formindsket af masser af cache. Duplexfunktionen til SATA er næsten udelukkende irrelevant her. (A) "Slow down" er et bredt begreb. Her bruger jeg den til at henvise til ting, der enten er I / O-bundne (dvs. hvis din computer sidder der knaprende tal, indholdet af harddisken har ingen indflydelse) eller CPU-bundet og konkurrerer med tangentielt beslægtede ting, der har høj CPU-brug (dvs. antivirusprogram scanning tonsvis af filer).

(B)


SSD'er påvirkes af fragmentering, idet sekventielle adgangshastigheder generelt er hurtigere end tilfældig adgang, til trods for SSD'er, der ikke står over for de samme begrænsninger som en mekanisk enhed (selv da mangler fragmentering garanterer ikke sekventiel adgang på grund af slidniveauer osv.). I næsten alle generelle brugsscenarier er dette imidlertid et ikke-problem. Performanceforskelle som følge af fragmentering på SSD'er er typisk ubetydelige for ting som indlæsning af applikationer, opstart af computeren mv. (C)

Forudsat et sane filsystem, der ikke fragmenterer filer med vilje. Sørg for at læs resten af ​​den livlige diskussion hos SuperUser via linket nedenfor!

Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Se hele diskussionsgruppen her.


Har du brug for at

Har du brug for at "Eject" MTP-enheder, der er tilsluttet til Windows?

Vi ved alle, at der er en rigtig måde og en forkert måde at løsne USB-masselagringsenheder fra vores computere, men gør Det samme princip gælder for MTP-enheder? Dagens SuperUser Q & A-indlæg har svaret på en nysgerrig læsers spørgsmål. Dagens Spørgsmål og Svar-sessions kommer til vores side med SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.

(how-to)

Sådan får du adgang til din Macs skærm fra Windows (og vice versa)

Sådan får du adgang til din Macs skærm fra Windows (og vice versa)

Deling af skærmen eksternt er en nem måde at få adgang til en anden computer, som om du sidder foran den. OS X og Windows har denne mulighed bygget rigtigt ind i dem, hvilket betyder, at du nemt kan dele din Macs skærm med Windows-pc'er og omvendt. Hvis du kører et blandet netværk, er det højst sandsynligt en kombination af Mac'er og Windows-pc'er.

(how-to)