logo

Co je Thrash?

V informatice, mlátit je slabý výkon virtuální paměti (nebo stránkovacího) systému, když jsou stejné stránky načítány opakovaně kvůli nedostatku hlavní paměti, která by je udržela v paměti. V závislosti na konfiguraci a algoritmu se může skutečná propustnost systému snížit o několik řádů.

V informatice, mlácení dochází, když jsou prostředky virtuální paměti počítače nadměrně využívány, což vede k neustálému stavu stránkování a chybám stránek, což brání zpracování většiny na aplikační úrovni. Způsobuje snížení nebo kolaps výkonu počítače. Situace může pokračovat donekonečna, dokud uživatel neuzavře některé spuštěné aplikace nebo aktivní procesy neuvolní další zdroje virtuální paměti.

Abychom o thrashingu věděli jasněji, musíme nejprve vědět o chybách stránek a záměnách.

    Chyba stránky:Víme, že každý program je rozdělen do několika stránek. Chyba stránky nastane, když se program pokusí získat přístup k datům nebo kódu ve svém adresovém prostoru, ale není aktuálně umístěn v systémové paměti RAM.Výměna:Kdykoli dojde k chybě stránky, operační systém se pokusí tuto stránku načíst ze sekundární paměti a pokusí se ji vyměnit za jednu ze stránek v paměti RAM. Tento proces se nazývá swapování.

Mlácení nastane, když k chybám a záměnám stránky dochází velmi často s vyšší rychlostí a operační systém pak musí trávit více času výměnou těchto stránek. Tento stav v operačním systému je známý jako mlácení. Kvůli thrashingu se využití CPU sníží nebo bude zanedbatelné.

Co je Thrash

Základní koncept spočívá v tom, že pokud je procesu přiděleno příliš málo snímků, bude docházet k příliš mnoha a příliš častým chybám stránek. V důsledku toho by CPU nevykonalo žádnou hodnotnou práci a využití CPU by drasticky kleslo.

Dlouhodobý plánovač by se pak pokusil vylepšit využití CPU načtením dalších procesů do paměti, čímž by se zvýšil stupeň multiprogramování. Bohužel by to vedlo k dalšímu snížení využití CPU, což by spustilo řetězovou reakci vyšších chyb stránek následovanou zvýšením stupně multiprogramování, nazývaného thrashing.

Algoritmy během Thrashingu

Kdykoli se spustí thrashing, operační systém se pokusí použít buď globální algoritmus nahrazení stránky, nebo lokální algoritmus nahrazení stránky.

1. Globální nahrazení stránky

Vzhledem k tomu, že globální nahrazení stránky může přinést libovolnou stránku, pokusí se přivést další stránky, kdykoli je zjištěno mlácení. Co se ale ve skutečnosti stane, je, že žádný proces nezíská dostatek snímků a v důsledku toho se bude mlátit více a více. Globální algoritmus nahrazení stránky proto není vhodný, když dojde k thrashingu.

2. Místní výměna stránky

Na rozdíl od globálního algoritmu náhrady stránky vybere místní náhrada stránky, které patří pouze do tohoto procesu. Je zde tedy šance omezit mlácení. Je ale dokázáno, že pokud použijeme lokální náhradu stránky, existuje mnoho nevýhod. Proto je místní nahrazení stránky pouze alternativou ke globálnímu nahrazení stránky ve scénáři thrashingu.

Příčiny mlácení

Programy nebo pracovní vytížení mohou způsobit výprask, což má za následek vážné problémy s výkonem, jako například:

  • Pokud je využití CPU příliš nízké, zvýšíme stupeň multiprogramování zavedením nového systému. Používá se globální algoritmus nahrazení stránky. Plánovač CPU vidí klesající využití CPU a zvyšuje stupeň multiprogramování.
  • Využití CPU je vyneseno proti stupni multiprogramování.
  • Se zvyšujícím se stupněm multiprogramování se zvyšuje i využití CPU.
  • Pokud se stupeň multiprogramování dále zvýší, nastane thrashing a využití CPU prudce klesne.
  • Takže v tomto bodě, abychom zvýšili vytížení CPU a přestali mlátit, musíme snížit míru multiprogramování.

Jak odstranit thrashing

Thrashing má některé negativní dopady na zdraví pevného disku a výkon systému. Proto je nutné podniknout některá opatření, jak se tomu vyhnout. Chcete-li vyřešit problém mlácení, zde jsou následující metody, například:

    Upravte velikost odkládacího souboru:Pokud systémový odkládací soubor není správně nakonfigurován, může se vám také stát, že dojde k rozbití disku.Zvyšte množství paměti RAM:Vzhledem k tomu, že nedostatek paměti může způsobit drcení disku, jedním z řešení je přidat do notebooku více paměti RAM. S větší pamětí váš počítač zvládne úkoly snadno a nemusí přehnaně pracovat. Obecně je to nejlepší dlouhodobé řešení.Snižte počet aplikací spuštěných v počítači:Pokud na pozadí běží příliš mnoho aplikací, váš systémový prostředek bude hodně spotřebovávat. A zbývající systémový prostředek je pomalý, což může mít za následek mlácení. Při zavírání tedy některé aplikace uvolní některé prostředky, takže se můžete do určité míry vyhnout mlácení.Nahradit programy:Nahraďte programy, které zabírají velkou paměť, ekvivalenty, které využívají méně paměti.

Techniky, jak zabránit mlácení

Nahrazení místní stránky je lepší než nahrazení globální stránky, ale nahrazení místní stránky má mnoho nevýhod, takže někdy není užitečné. Níže jsou proto uvedeny některé další techniky, které se používají k zacházení s mlátením:

1. Model lokality

Lokalita je sada stránek, které se aktivně používají společně. Model lokality říká, že proces se během provádění přesune z jedné lokality do druhé. Program se tedy obecně skládá z několika různých lokalit, které se mohou překrývat.

Například, když je funkce volána, definuje novou lokalitu, kde jsou provedeny odkazy v paměti na instrukce volání funkce, lokální a globální proměnné atd. Podobně, když je funkce ukončena, proces tuto lokalitu opustí.

2. Model pracovní sady

Tento model vychází z výše uvedené koncepce modelu lokality.

Základní princip říká, že pokud procesu přidělíme dostatek rámců, aby se přizpůsobil jeho aktuální lokalitě, dojde k chybě pouze tehdy, když se přesune do nějaké nové lokality. Ale pokud jsou alokované snímky menší než velikost aktuální lokality, proces je nucen zničit.

Podle tohoto modelu, na základě parametru A, je pracovní sada definována jako sada stránek v nejnovějších odkazech na stránky „A“. Všechny aktivně používané stránky by tedy vždy skončily součástí pracovní sady.

řetězec java list

Přesnost pracovní sady je závislá na hodnotě parametru A. Pokud je A příliš velké, mohou se pracovní sady překrývat. Na druhou stranu pro menší hodnoty A nemusí být lokalita pokryta celá.

Pokud D je celková poptávka po rámcích a WSSije velikost pracovní sady pro proces i,

D = ⅀ WSSi

Nyní, pokud 'm' je počet snímků dostupných v paměti, existují dvě možnosti:

  • D>m, tj. celková poptávka převyšuje počet snímků, pak dojde k mlácení, protože některé procesy by nezískaly dostatek snímků.
  • D<=m, then there would be no thrashing.< li>

Pokud je dostatek snímků navíc, lze do paměti načíst další procesy. Na druhou stranu, pokud součet velikostí pracovních sad překročí dostupnost rámců, musí být některé procesy pozastaveny (vyměněny z paměti).

Tato technika zabraňuje mlátění a zároveň zajišťuje nejvyšší možný stupeň multiprogramování. Optimalizuje tedy využití CPU.

3. Frekvence chyb stránky

Přímější přístup ke zvládnutí thrashingu je ten, který využívá koncept Page-Fault Frequency.

Co je Thrash

Problém spojený s thrashingem je vysoká četnost chyb stránky, a proto je zde konceptem řídit četnost chyb stránky.

Pokud je četnost chyb stránky příliš vysoká, znamená to, že procesu je přiděleno příliš málo snímků. Naopak nízká chybovost stránky naznačuje, že proces má příliš mnoho snímků.

Horní a dolní limity lze nastavit pro požadovanou míru chybovosti stránky, jak je znázorněno na obrázku.

Pokud četnost chyb stránky klesne pod spodní limit, lze z procesu odebrat snímky. Podobně, pokud četnost chyb stránek překročí horní limit, lze procesu přidělit více snímků.

Jinými slovy, grafický stav systému by měl být omezen na obdélníkovou oblast vytvořenou v daném diagramu.

Pokud je četnost chyb stránky vysoká bez volných rámců, některé procesy mohou být pozastaveny a přidělené jim mohou být přerozděleny jiným procesům. Pozastavené procesy se mohou později restartovat.