logo

Što je Thrash?

U informatici, mlatiti je loša izvedba sustava virtualne memorije (ili stranica) kada se iste stranice učitavaju opetovano zbog nedostatka glavne memorije da ih zadrži u memoriji. Ovisno o konfiguraciji i algoritmu, stvarna propusnost sustava može se smanjiti za više redova veličine.

U informatici, mlaćenje događa se kada se resursi virtualne memorije računala pretjerano koriste, što dovodi do stalnog stanja stranica i pogrešaka stranica, sprječavajući većinu obrada na razini aplikacije. To uzrokuje pogoršanje ili kolaps performansi računala. Situacija se može nastaviti neograničeno dok korisnik ne zatvori neke pokrenute aplikacije ili dok aktivni procesi ne oslobode dodatne resurse virtualne memorije.

Da bismo jasnije znali o mlaćenju, prvo moramo znati o pogrešci stranice i zamjeni.

    Greška stranice:Znamo da je svaki program podijeljen na nekoliko stranica. Greška stranice se događa kada program pokuša pristupiti podacima ili kodu u svom adresnom prostoru, ali se trenutno ne nalazi u RAM-u sustava.Zamjena:Kad god se dogodi pogreška stranice, operativni sustav će pokušati dohvatiti tu stranicu iz sekundarne memorije i pokušati je zamijeniti jednom od stranica u RAM-u. Taj se proces naziva zamjena.

Mlaćenje je kada se pogreška stranice i zamjena događaju vrlo često pri višoj stopi, a tada operativni sustav mora provesti više vremena mijenjajući te stranice. Ovo stanje u operativnom sustavu poznato je kao mlaćenje. Zbog trzanja, iskorištenost CPU-a će biti smanjena ili zanemariva.

Što je Thrash

Osnovni koncept koji je uključen je da ako se procesu dodijeli premalo okvira, tada će biti previše i prečestih pogrešaka stranice. Kao rezultat toga, CPU ne bi obavljao nikakav vrijedan posao, a iskorištenost CPU-a bi drastično pala.

Dugoročni planer bi tada pokušao poboljšati iskorištenost CPU-a učitavanjem još nekih procesa u memoriju, čime bi se povećao stupanj multiprogramiranja. Nažalost, to bi rezultiralo daljnjim smanjenjem iskorištenosti CPU-a, što bi izazvalo lančanu reakciju grešaka većeg broja stranica praćenih povećanjem stupnja multiprogramiranja, koje se naziva mlaćenje.

Algoritmi tijekom Thrashinga

Kad god krene trljanje, operativni sustav pokušava primijeniti algoritam za globalnu zamjenu stranice ili algoritam za zamjenu lokalne stranice.

1. Globalna zamjena stranice

Budući da globalna zamjena stranice može donijeti bilo koju stranicu, pokušava donijeti više stranica kad god se pronađe oštećenje. Ali ono što će se zapravo dogoditi jest da nijedan proces ne dobije dovoljno okvira, a kao rezultat toga, mlaćenje će se sve više povećavati. Stoga algoritam za globalnu zamjenu stranice nije prikladan kada dođe do pada.

2. Zamjena lokalne stranice

Za razliku od algoritma za globalnu zamjenu stranice, zamjena lokalne stranice odabrat će stranice koje pripadaju samo tom procesu. Dakle, postoji šansa da se smanji mlaćenje. No dokazano je da postoje mnogi nedostaci ako koristimo zamjenu lokalne stranice. Stoga je zamjena lokalne stranice samo alternativa globalnoj zamjeni stranice u scenariju trzanja.

Uzroci mlaćenja

Programi ili radna opterećenja mogu uzrokovati lupanje, a to rezultira ozbiljnim problemima s izvedbom, kao što su:

  • Ako je iskorištenje CPU-a premalo, povećavamo stupanj multiprogramiranja uvođenjem novog sustava. Koristi se globalni algoritam zamjene stranica. Planer CPU-a uočava smanjenje iskorištenja CPU-a i povećava stupanj multiprogramiranja.
  • Iskorištenje CPU-a ucrtava se u odnosu na stupanj multiprogramiranja.
  • Kako se povećava stupanj multiprogramiranja, raste i iskorištenje CPU-a.
  • Ako se stupanj multiprogramiranja dodatno poveća, dolazi do trzanja i iskorištenost CPU-a naglo pada.
  • Dakle, u ovom trenutku, da bismo povećali iskorištenost CPU-a i zaustavili mlaćenje, moramo smanjiti stupanj multiprogramiranja.

Kako eliminirati mlaćenje

Mlatanje ima neke negativne utjecaje na zdravlje tvrdog diska i performanse sustava. Stoga je potrebno poduzeti neke radnje kako bi se to izbjeglo. Da biste riješili problem mlaćenja, evo sljedećih metoda, kao što su:

    Podesite veličinu swap datoteke:Ako datoteka za razmjenu sustava nije ispravno konfigurirana, može vam se dogoditi i razbijanje diska.Povećajte količinu RAM-a:Budući da nedostatak memorije može uzrokovati lupanje diska, jedno od rješenja je dodavanje više RAM-a prijenosnom računalu. Uz više memorije, vaše računalo može lako rješavati zadatke i ne mora raditi pretjerano. Općenito, to je najbolje dugoročno rješenje.Smanjite broj pokrenutih aplikacija na računalu:Ako ima previše aplikacija koje rade u pozadini, resursi vašeg sustava će trošiti mnogo. A preostali resursi sustava su spori što može dovesti do kvara. Dakle, dok se zatvaraju, neke aplikacije će osloboditi neke resurse tako da možete izbjeći mlaćenje do neke mjere.Zamijenite programe:Zamijenite one programe koji zauzimaju puno memorije s ekvivalentima koji koriste manje memorije.

Tehnike za sprječavanje trzanja

Zamjena lokalne stranice bolja je od zamjene globalne stranice, ali zamjena lokalne stranice ima mnogo nedostataka, pa ponekad nije od pomoći. Stoga su u nastavku neke druge tehnike koje se koriste za rješavanje mlaćenja:

1. Model lokaliteta

Lokalitet je skup stranica koje se aktivno koriste zajedno. Model lokaliteta navodi da se proces, kako se izvršava, pomiče s jednog lokaliteta na drugi. Stoga se program općenito sastoji od nekoliko različitih lokaliteta koji se mogu preklapati.

Na primjer, kada se funkcija pozove, ona definira novi lokalitet gdje se upućuju memorijske reference na upute za poziv funkcije, lokalne i globalne varijable, itd. Slično, kada se izađe iz funkcije, proces napušta ovaj lokalitet.

2. Model radnog skupa

Ovaj se model temelji na gore navedenom konceptu modela lokaliteta.

Osnovno načelo kaže da ako procesu dodijelimo dovoljno okvira za prilagodbu njegovom trenutnom lokalitetu, on će pogriješiti samo kad god se pomakne na neki novi lokalitet. Ali ako su dodijeljeni okviri manji od veličine trenutnog lokaliteta, proces će sigurno propasti.

Prema ovom modelu, na temelju parametra A, radni skup je definiran kao skup stranica u najnovijim referencama stranica 'A'. Stoga bi sve aktivno korištene stranice uvijek završile kao dio radnog skupa.

cp naredba u linuxu

Točnost radnog skupa ovisi o vrijednosti parametra A. Ako je A prevelik, tada se radni skupovi mogu preklapati. S druge strane, za manje vrijednosti A, lokalitet možda neće biti u potpunosti pokriven.

Ako je D ukupna potražnja za okvirima i WSSije veličina radnog skupa za proces i,

D = ⅀ WSSi

Sada, ako je 'm' broj okvira dostupnih u memoriji, postoje dvije mogućnosti:

  • D>m, tj. ukupna potražnja premašuje broj okvira, tada će doći do pada jer neki procesi ne bi dobili dovoljno okvira.
  • D<=m, then there would be no thrashing.< li>

Ako ima dovoljno dodatnih okvira, tada se u memoriju mogu učitati još neki procesi. S druge strane, ako zbroj veličina radnog skupa premašuje dostupnost okvira, neki se procesi moraju suspendirati (izbaciti iz memorije).

Ova tehnika sprječava mlaćenje uz osiguravanje najvećeg mogućeg stupnja multiprogramiranja. Stoga optimizira iskorištenost CPU-a.

3. Učestalost grešaka na stranici

Izravniji pristup rješavanju trzanja je onaj koji koristi koncept Page-Fault Frequency.

Što je Thrash

Problem povezan s razbijanjem je visoka stopa grešaka na stranici, pa je stoga koncept ovdje kontrolirati stopu grešaka na stranici.

Ako je stopa grešaka stranice previsoka, to znači da je procesu dodijeljeno premalo okvira. Naprotiv, niska stopa grešaka na stranici ukazuje na to da proces ima previše okvira.

Gornje i donje granice mogu se postaviti na željenu stopu grešaka na stranici, kao što je prikazano na dijagramu.

Ako stopa grešaka stranice padne ispod donje granice, okviri se mogu ukloniti iz procesa. Slično, ako stopa grešaka stranice premašuje gornju granicu, procesu se može dodijeliti više okvira.

Drugim riječima, grafičko stanje sustava treba biti ograničeno na pravokutno područje formirano u danom dijagramu.

Ako je stopa grešaka na stranici visoka i nema slobodnih okvira, neki se procesi mogu obustaviti i dodijeljeni njima mogu se preraspodijeliti drugim procesima. Obustavljeni procesi mogu se ponovno pokrenuti kasnije.