Начална » как да » Защо изпразване на дисково пространство ускори компютри?

    Защо изпразване на дисково пространство ускори компютри?

    Когато научавате повече за компютрите и как работят, понякога ще се сблъскате с нещо, което изглежда няма смисъл. Имайки предвид това, дали изпразването на дисково пространство всъщност ускорява компютрите? Днешната публикация за въпроси и отговори SuperUser има отговор на озадачен въпрос на читателя.

    Днешната сесия за въпроси и отговори идва при нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, групирано от общността уеб сайтове за въпроси и отговори.

    Снимка на екрана, предоставена от nchenga (Flickr).

    Въпроса

    Четецът на SuperUser Remi.b иска да знае защо изпразването на дисково пространство ускорява компютъра:

    Гледам много видеоклипове и сега разбирам как компютрите работят малко по-добре. Разбирам какво е RAM, за волатилната и енергонезависима памет и за процеса на смяна. Също така разбирам защо увеличаването на RAM ускорява компютъра.

    Това, което не разбирам е защо почистването на дисковото пространство изглежда ускорява компютъра. Наистина ли ускорява компютъра? Ако е така, защо го прави?

    Има ли нещо общо с търсенето на място за запаметяване, за да се запазят нещата или да се движат нещата, за да се направи достатъчно дълго пространство, за да се запази нещо? Колко празно място трябва да оставя на твърдия диск?

    Защо изпразването на дисково пространство ускорява компютъра?

    Отговорът

    Сътрудникът на SuperUser Jason C има отговор за нас:

    "Защо изпразването на дисково пространство ускорява компютрите?"

    Не, поне не само. Това е наистина общ мит. Причината, поради която това е често срещан мит, е, че зареждането на твърдия ви диск често се случва едновременно с други неща, които по традиция могат да забавят компютъра ви (А). Изпълнението на SSD има тенденция да се влошава, тъй като те се пълнят, но това е сравнително нов въпрос, уникален за SSD-та, и не е особено забележим за обикновените потребители. Като цяло, ниското свободно дисково пространство е просто червено херинга.

    Например неща като:

    1. Фрагментация на файла. Фрагментацията на файлове е проблем (В), но липсата на свободно пространство, макар и определено един от многото допринасящи фактори, не е единствената причина за това. Някои ключови точки тук:

    • Шансовете за фрагментиран файл са не свързани с количеството свободно пространство, оставащо на устройството. Те са свързани с размера на най-големия съседен блок от свободно пространство на задвижването (т.е. "дупки" на свободно пространство), което е количеството свободно пространство случва се да постави горна граница. Те са свързани и с това как файловата система обработва разпределението на файловете (по-долу). Обмисли: Задвижването, което е 95% пълно с цялото свободно пространство в един непрекъснат блок, има нулев процент шанс за фрагментиране на нов файл (° С) (а шансът за фрагментиране на прикачения файл е независим от свободното пространство). Задвижването, което е пълно с пет процента, но с данни, разпределени равномерно върху устройството, има много висока вероятност за фрагментация.
    • Имайте предвид, че фрагментирането на файловете влияе само на производителността, когато се осъществява достъп до фрагментираните файлове. Обмисли: Имате хубав, дефрагментиран диск, който все още има много свободни дупки в него. Общ сценарий. Всичко върви гладко. В крайна сметка, обаче, стигате до точка, където няма повече големи блокове от свободно пространство. Можете да изтеглите огромен филм, файлът се оказва силно фрагментиран. Това няма да забави компютъра ви. Всички ваши файлове за кандидатстване и такива, които преди това са били фини, няма да се разпаднат внезапно. Това може да накара филмът да се зареди по-дълго (въпреки че типичните скорости на филмните битове са толкова ниски в сравнение с честотата на четене на твърдия диск, че най-вероятно ще бъде незабележим) и може да повлияе на производителността, свързана с I / O, докато филмът се зарежда, но освен това нищо не се променя.
    • Докато фрагментацията на файловете със сигурност е проблем, често пъти ефектите се намаляват от буферирането и кеширането на ниво операционна система и хардуер. Забавянето пише, четенето напред, стратегиите като prefetcher в Windows и т.н., всички те спомагат за намаляване на ефектите от фрагментацията. По принцип не го правите всъщност изпитайте значително въздействие, докато фрагментацията не стане сериозна (дори бих се осмелил да кажа, че докато вашият суап файл не е фрагментиран, вероятно никога няма да забележите).

    2. Друг пример е индексирането на търсенето. Кажете, че имате включено автоматично индексиране и операционна система, която не се справя с това грациозно. Когато запазвате повече и повече индексируемо съдържание на компютъра си (документи и такива), индексирането може да отнеме повече време и да започне да оказва влияние върху скоростта на възприемане на компютъра ви, докато се изпълнява, както при използване на входно / изходно устройство, така и при използване на процесора. , Това не е свързано със свободното пространство, то е свързано с размера на съдържанието, което може да се индексира. Обаче изчерпването на свободното пространство върви ръка за ръка със съхранението на повече съдържание, следователно се извлича фалшива връзка.

    3. Антивирусен софтуер (подобен на примера за индексиране при търсене). Кажете, че имате антивирусен софтуер, настроен да извършва фоново сканиране на вашето устройство. Тъй като имате все повече и повече сканируемо съдържание, търсенето отнема повече ресурси за вход / изход и процесора, което вероятно пречи на работата ви. Отново, това е свързано с количеството съдържание за сканиране, което имате. Повече съдържание често се равнява на по-малко свободно пространство, но липсата на свободно пространство не е причината.

    4. Инсталиран софтуер. Кажете, че имате много инсталиран софтуер, който се зарежда, когато компютърът се стартира, като по този начин се забавя времето за стартиране. Това забавяне се случва, защото се зарежда много софтуер. Инсталираният софтуер обаче заема място на твърдия диск. Следователно свободното пространство на твърдия диск намалява в същото време, когато това се случи, и отново може да се направи фалшива връзка.

    5. Много други примери по този въпрос, които, когато се вземат заедно, се появи тясно да свързват липсата на свободно пространство с по-ниска производителност.

    Горното илюстрира друга причина, че това е такъв общ мит: Докато липсата на свободно пространство не е пряка причина за забавяне, деинсталиране на различни приложения, премахване на индексирано или сканирано съдържание и т.н. понякога (но не винаги, извън обхвата на този отговор) увеличава производителността отново поради причини, които не са свързани с оставащото свободно пространство. Но това естествено освобождава пространство на твърдия диск. Следователно, отново, може да се направи очевидна (но невярна) връзка между „повече свободно пространство“ и „по-бърз компютър“.

    Обмисли: Ако машината работи бавно поради много инсталиран софтуер и т.н., клонирайте твърдия диск (точно) на по-голям твърд диск, след това разширете дяловете си, за да спечелите повече свободно пространство, машината няма да ускори магически. Същите софтуерни натоварвания, едни и същи файлове все още са фрагментирани по един и същи начин, един и същ индекса за търсене все още работи, нищо не се променя, въпреки че има повече свободно пространство.

    - Има ли нещо общо с търсенето на място за запаметяване, за да се спасят нещата?

    Не не е. Тук има две много важни неща: \ t

    1. Твоят твърд диск не търси наоколо, за да намери места за поставяне на неща. Твоят твърд диск е глупав. Нищо не е. Това е голям блок за съхранение на адреси, който сляпо поставя нещата, на които вашата операционна система казва, и чете каквото поиска. Модерните дискове имат сложни механизми за кеширане и буфериране, проектирани около предвиждане на това, което ОС ще поиска, въз основа на опита, който сме натрупали с течение на времето (някои устройства дори са наясно с файловата система, която е на тях), но по същество мислят за карам като просто една голяма тъпа тухла на съхранение с случайни характеристики на бонус.

    2. Вашата операционна система също не търси места за поставяне на неща. Няма търсене. Много усилия са положени за решаване на този проблем, тъй като е от решаващо значение за работата на файловата система. Начинът, по който данните се организират на вашето устройство, се определя от файловата ви система. Например FAT32 (стари DOS и Windows компютри), NTFS (по-късни издания на Windows), HFS + (Mac), ext4 (някои Linux системи) и много други. Дори понятието "файл" и "директория" са само продукти на типични файлови системи - хард-дисковете не знаят нищо за мистериозните зверове файлове. Подробностите са извън обхвата на този отговор. Но по същество, всички обикновени файлови системи имат начини за проследяване, когато наличното пространство е на устройство, така че търсенето на свободно пространство при нормални обстоятелства (т.е. файлови системи в добро здраве) не е необходимо. Примери:

    • NTFS има главна файлова таблица, която включва специалните файлове $ Bitmap, и много други мета данни, описващи устройството. По същество той следи къде са следващите свободни блокове, така че новите файлове да могат да се записват директно на свободни блокове, без да се налага да сканират устройството всеки път..
    • Друг пример: Ext4 има това, което се нарича разпределител на bitmap, подобрение спрямо ext2 и ext3, което по същество му помага директно да определи къде са свободните блокове, вместо да сканира списъка със свободни блокове. Ext4 също поддържа забавено разпределение, това е, буфериране на данни в RAM от операционната система, преди да се запише на устройството, за да се вземат по-добри решения за това къде да се постави, за да се намали фрагментацията.
    • Много други примери.

    - Или с движещи се неща, за да направим достатъчно дълго пространство, за да спасим нещо?

    Това не се случва, поне не във всяка файлова система, за която съм запознат. Файловете просто се оказват фрагментирани.

    Нарича се процесът на „преместване на нещата, за да се създаде достатъчно дълго пространство, за да се запази нещо“ дефрагментиране. Това не се случва, когато файловете са написани. Това се случва, когато стартирате дефрагментиращия диск. Най-малкото при по-новите издания на Windows това се случва автоматично по график, но никога не се задейства чрез писане на файл.

    Да можеш да се избегне преместването на нещата по този начин е от ключово значение за производителността на файловата система и затова се случва фрагментацията и защо дефрагментирането съществува като отделна стъпка.

    "Колко празно място трябва да оставя на твърдия диск?"

    Това е по-сложен въпрос за отговор (и този отговор вече е превърнат в малка книга).

    Правила на палеца:

    1. За всички типове устройства:

    • Най-важното е да оставите достатъчно свободно място да използвате компютъра си ефективно. Ако нямате място за работа, ще искате по-голямо шофиране.
    • Много инструменти за дефрагментиране на дискове изискват минимално количество свободно пространство (мисля, че този с Windows изисква 15%, най-лошия случай), за да работят. Те използват това свободно пространство, за да държат временно фрагментираните файлове, тъй като други неща са пренаредени.
    • Оставете място за други функции на операционната система. Например, ако машината ви няма много физически RAM и имате активирана виртуална памет с файл с динамично оразмерен файл, ще искате да оставите достатъчно място за максималния размер на файла на страницата. Или ако имате лаптоп, който поставите в режим на хибернация, ще ви трябва достатъчно свободно място за файла състояние на хибернация. Такива неща.

    2. SSD-конкретни:

    • За оптимална надеждност (и в по-малка степен, производителност), SSD дисковете изискват малко свободно пространство, което, без да навлиза в прекалено много подробности, те използват за разпространение на данни около устройството, за да се избегне непрекъснато записване на същото място (което ги износва) , Тази концепция за оставяне на свободно пространство се нарича свръх-провизиране. Важно е, но в много SSD дискове вече съществува задължително прекалено обезпечено пространство. Това означава, че устройствата често имат няколко десетки GB повече, отколкото докладват на операционната система. Задвижванията на долния край често изискват ръчно напускане неразбито на дялове пространство, но за задвижвания със задължително ОП, не е необходимо да оставяте свободно място. Важно е да се отбележи това Прекалено обезпеченото пространство често се взема само от неразпределено пространство. Така че, ако вашият дял заема целия ви диск и оставяте малко свободно място на него, това не е така винаги броя. Много пъти ръчното презареждане изисква да намалите дяла си по-малък от размера на устройството. Проверете ръководството на потребителя на SSD за подробности. TRIM, събирането на отпадъци и такива имат ефекти, но те са извън обхвата на този отговор.

    Лично аз обикновено хващам по-голямо устройство, когато остават около 20-25 процента свободно пространство. Това не е свързано с производителността, просто когато стигна до тази точка, очаквам, че скоро ще ми липсва място за данни и че е време да прибера по-голямо.

    По-важно от гледането на свободно пространство е да се уверите, че планираната дефрагментиране е разрешена, когато е уместно (не на SSD-та), така че никога да не стигнете до точката, в която тя ще стане достатъчно тежка, за да ви повлияе.


    Има едно последно нещо, което си струва да се спомене. Един от другите отговори тук споменава, че полудуплексният режим на SATA предотвратява едновременно четене и писане. Макар да е вярно, това е много опростено и най-вече не е свързано с въпросите, свързани с изпълнението, които се обсъждат тук. Това просто означава, че данните не могат да се прехвърлят в двете посоки на проводника по същото време. Въпреки това, SATA има доста сложна спецификация, включваща малки максимални размери на блока (около 8kB на блок на тел, мисля), четене и запис на опашки за работа и т.н., и не изключва записването на буфери, които се случват, докато се четат, между тях операции и др.

    Всяко блокиране, което се случва, ще се дължи на съревноваване за физически ресурси, обикновено смекчени от много кеш. Дуплексният режим на SATA тук е почти напълно без значение.


    (А) „Забавянето“ е широко понятие. Тук го използвам, за да се позовавам на неща, които са или I / O-свързани (т.е. ако вашият компютър седи там, където съдържат номера, съдържанието на твърдия диск няма въздействие) или CPU-обвързани и се конкурират с тангенциално свързани неща, които имат висока Използване на процесора (т.е. сканиране на тонове файлове с антивирусен софтуер).

    (В) SSD-ите са засегнати от фрагментация, тъй като последователните скорости на достъп обикновено са по-бързи от произволен достъп, въпреки че SSD-тата не са изправени пред същите ограничения като механичното устройство (дори и тогава липсата на фрагментация не гарантира последователен достъп поради изравняване на износване и др.). Въпреки това, в почти всеки сценарий за обща употреба, това не е проблем. Разликите в производителността, дължащи се на фрагментацията на SSD дискове, са обикновено незначителни за неща като зареждане на приложения, зареждане на компютъра и др.

    (° С) Ако приемем една нормална файлова система, която не фрагментира файловете по предназначение.

    Не забравяйте да прочетете останалата част от оживената дискусия в SuperUser чрез връзката по-долу!


    Имате ли какво да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други технологични потребители на Stack Exchange? Вижте пълната тема за дискусия тук.