logo

Mi az a Thrash?

A számítástechnikában, thrash a virtuális memória (vagy lapozó) rendszer gyenge teljesítménye, amikor ugyanazokat az oldalakat ismételten betöltik a memóriában tartásukhoz szükséges fő memória hiánya miatt. A konfigurációtól és az algoritmustól függően a rendszer tényleges teljesítménye több nagyságrenddel is csökkenhet.

A számítástechnikában, csépelni akkor fordul elő, amikor a számítógép virtuális memória erőforrásait túlhasználják, ami állandó lapozási állapothoz és laphibákhoz vezet, ami gátolja a legtöbb alkalmazásszintű feldolgozást. Ez a számítógép teljesítményének romlását vagy összeomlását okozza. A helyzet korlátlanul folytatódhat, amíg a felhasználó be nem zár néhány futó alkalmazást, vagy az aktív folyamatok további virtuális memória erőforrásokat szabadítanak fel.

Ahhoz, hogy tisztábban tudjunk a csépelésről, először is tudnunk kell az oldalhibáról és a cseréről.

    Oldal hiba:Tudjuk, hogy minden program néhány oldalra van felosztva. Laphiba akkor fordul elő, ha egy program a címterében lévő adatokhoz vagy kódokhoz próbál hozzáférni, de jelenleg nem található a rendszer RAM-jában.Csere:Amikor oldalhiba történik, az operációs rendszer megpróbálja lekérni az oldalt a másodlagos memóriából, és megpróbálja felcserélni a RAM egyik lapjával. Ezt a folyamatot cserének nevezik.

Dobbanás az, amikor az oldalhiba és a csere nagyon gyakran és nagyobb arányban történik, és ekkor az operációs rendszernek több időt kell töltenie az oldalak cseréjével. Az operációs rendszerben ezt az állapotot ütésnek nevezik. Az ütések miatt a CPU kihasználtsága csökkenni fog, vagy elhanyagolható lesz.

Mi az a Thrash

Az alapvető koncepció az, hogy ha egy folyamathoz túl kevés keretet osztanak ki, akkor túl sok és túl gyakori oldalhiba lesz. Ennek eredményeként a CPU nem végez értékes munkát, és a CPU kihasználtsága drasztikusan csökkenne.

A hosszú távú ütemező ezután megpróbálja javítani a CPU kihasználtságát azzal, hogy néhány további folyamatot betölt a memóriába, ezáltal növelve a többprogramozás mértékét. Sajnos ez a CPU-kihasználtság további csökkenését eredményezné, ami a magasabb oldalhibák láncreakcióját váltja ki, amit a többprogramozás mértékének növekedése követ, az úgynevezett thrashing.

Algoritmusok Thrashing során

Amikor a törlés elindul, az operációs rendszer megpróbálja alkalmazni a globális oldalcsere algoritmust vagy a helyi oldalcsere algoritmust.

1. Globális oldalcsere

Mivel a globális oldalcsere bármilyen oldalt hozhat létre, minden alkalommal megpróbál több oldalt hozni, ha ütést észlel. De valójában az fog történni, hogy egyetlen folyamat sem kap elég képkockát, és ennek eredményeként a verés egyre jobban nő. Ezért a globális oldalcsere-algoritmus nem megfelelő, ha csépeltetés történik.

2. Helyi oldal csere

A globális oldalcsere algoritmussal ellentétben a helyi oldalcsere olyan oldalakat választ ki, amelyek csak az adott folyamathoz tartoznak. Így van esély a verés csökkentésére. De bebizonyosodott, hogy sok hátránya van, ha helyi oldalcserét alkalmazunk. Ezért a helyi oldalcsere csak egy alternatíva a globális oldalcserével szemben, ha összeütközik.

Az ütés okai

A programok vagy a munkaterhelések ütést okozhatnak, ami súlyos teljesítményproblémákat okozhat, például:

  • Ha a CPU kihasználtsága túl alacsony, akkor egy új rendszer bevezetésével növeljük a multiprogramozás mértékét. Globális oldalcsere algoritmust használnak. A CPU ütemező látja a CPU kihasználtságának csökkenését és növeli a többprogramozás mértékét.
  • A CPU kihasználtságát a többprogramozás mértéke függvényében ábrázoljuk.
  • A többprogramozás mértékének növekedésével a CPU kihasználtsága is növekszik.
  • Ha tovább növeljük a többprogramozás mértékét, beindul a csapkodás, és a CPU kihasználtsága meredeken csökken.
  • Tehát ezen a ponton, hogy növeljük a CPU kihasználtságát, és megállítsuk a vergődést, csökkentenünk kell a többprogramozás mértékét.

Hogyan lehet kiküszöbölni a verést

A feltörésnek van néhány negatív hatása a merevlemez állapotára és a rendszer teljesítményére. Ezért meg kell tenni bizonyos intézkedéseket annak elkerülése érdekében. A csapkodás problémájának megoldásához az alábbi módszereket kell használni, például:

    Állítsa be a swap fájl méretét:Ha a rendszercserefájl nincs megfelelően konfigurálva, akkor Ön is megtörténhet a lemeztörlés.Növelje a RAM mennyiségét:Mivel az elégtelen memória a lemezek összetörését okozhatja, az egyik megoldás az, ha több RAM-ot adunk a laptophoz. A több memóriával a számítógép könnyen kezeli a feladatokat, és nem kell túl sokat dolgoznia. Általában ez a legjobb hosszú távú megoldás.Csökkentse a számítógépen futó alkalmazások számát:Ha túl sok alkalmazás fut a háttérben, a rendszer erőforrása sokat fog igénybe venni. És a fennmaradó rendszererőforrás lassú, ami összeomlást okozhat. Tehát a bezárás közben egyes alkalmazások felszabadítanak bizonyos erőforrásokat, így bizonyos mértékig elkerülheti az összecsapást.Programok cseréje:Cserélje le azokat a programokat, amelyek nagy memóriát foglalnak el, olyan megfelelőkre, amelyek kevesebb memóriát használnak.

Technikák a csapkodás megelőzésére

A helyi oldalcsere jobb, mint a globális oldalcsere, de a helyi oldalcsere számos hátránnyal jár, ezért néha nem hasznos. Ezért az alábbiakban felsorolunk néhány egyéb technikát, amelyeket a verés kezelésére használnak:

1. Helységmodell

A helység aktívan együtt használt oldalak halmaza. A lokalitásmodell kimondja, hogy a folyamat végrehajtása során egyik helyről a másikra mozog. Így egy program általában több különböző helységből áll, amelyek átfedhetik egymást.

Például, amikor egy függvényt hívunk, egy új helyet határoz meg, ahol a memória hivatkozások történnek a függvényhívási utasításokra, a helyi és globális változókra stb. Hasonlóképpen, ha a függvényből kilép, a folyamat elhagyja ezt a helyet.

2. Munkakészlet-modell

Ez a modell a Helységmodell fentebb ismertetett koncepcióján alapul.

Az alapelv kimondja, hogy ha elég keretet allokálunk egy folyamathoz ahhoz, hogy a jelenlegi helyhez igazodjon, akkor az csak akkor fog hibásodni, amikor új helyre költözik. De ha a lefoglalt keretek kisebbek, mint az aktuális hely mérete, a folyamat thrash-hez kötött.

E modell szerint az A paraméter alapján a munkakészlet a legutóbbi „A” oldalhivatkozások oldalainak halmaza. Ezért az összes aktívan használt oldal mindig a munkakészlet részét képezi.

hálózati topológia

A munkakészlet pontossága az A paraméter értékétől függ. Ha A túl nagy, akkor a munkakészletek átfedhetik egymást. Másrészt az A kisebb értékek esetén előfordulhat, hogy a helység nem fedi le teljesen.

Ha D a keretek és a WSS teljes keresleteéna munkakészlet mérete az i folyamathoz,

D = ⅀ WSSén

Ha most az „m” a memóriában elérhető képkockák száma, két lehetőség van:

  • D>m, azaz a teljes kereslet meghaladja a képkockák számát, akkor thrash lesz, mivel egyes folyamatok nem kapnának elegendő keretet.
  • D<=m, then there would be no thrashing.< li>

Ha van elegendő extra keret, akkor még néhány folyamat betölthető a memóriába. Másrészt, ha a munkakészletek méreteinek összegzése meghaladja a keretek elérhetőségét, akkor a folyamatok egy részét fel kell függeszteni (memóriát ki kell cserélni).

Ez a technika megakadályozza a csorbát, és biztosítja a lehető legmagasabb szintű többprogramozást. Így optimalizálja a CPU kihasználtságát.

3. Oldalhiba gyakorisága

A verés kezelésének közvetlenebb megközelítése az oldalhiba-gyakoriság koncepció.

Mi az a Thrash

A csépeléssel járó probléma a magas oldalhiba-arány, és így itt a koncepció az oldalhiba-arány szabályozása.

Ha az oldalhiba aránya túl magas, az azt jelzi, hogy a folyamatnak túl kevés keret van lefoglalva. Éppen ellenkezőleg, az alacsony oldalhiba-arány azt jelzi, hogy a folyamat túl sok kerettel rendelkezik.

A kívánt oldalhiba-arány felső és alsó határa az ábrán látható módon állítható be.

Ha az oldalhiba aránya az alsó határ alá esik, a keretek eltávolíthatók a folyamatból. Hasonlóképpen, ha az oldalhibák aránya meghaladja a felső határt, több képkocka is hozzárendelhető a folyamathoz.

Vagyis a rendszer grafikus állapotát az adott diagramon kialakított téglalap alakú tartományra kell korlátozni.

Ha az oldalhiba-arány magas szabad keretek hiányában, akkor a folyamatok egy része felfüggeszthető, és a hozzájuk rendelt folyamatok átcsoportosíthatók más folyamatokhoz. A felfüggesztett folyamatok később újraindulhatnak.