logo

Kas yra Thrash?

Informatikos srityje, thrash yra prastas virtualios atminties (arba ieškos) sistemos veikimas, kai tie patys puslapiai įkeliami pakartotinai, nes trūksta pagrindinės atminties, kad jie būtų atmintyje. Priklausomai nuo konfigūracijos ir algoritmo, tikrasis sistemos pralaidumas gali sumažėti keliomis eilėmis.

Informatikos srityje, daužymas įvyksta, kai per daug išnaudojami kompiuterio virtualiosios atminties ištekliai, dėl to atsiranda nuolatinė ieškos ir puslapių gedimų būsena, trukdanti daugumai taikomųjų programų lygio apdorojimo. Dėl to pablogėja arba žlunga kompiuterio našumas. Situacija gali tęstis neribotą laiką, kol vartotojas uždarys kai kurias veikiančias programas arba aktyvūs procesai atlaisvins papildomų virtualios atminties resursų.

Norėdami aiškiau žinoti apie sumušimą, pirmiausia turime žinoti apie puslapio gedimą ir keitimą.

    Puslapio gedimas:Žinome, kad kiekviena programa yra padalinta į kelis puslapius. Puslapio klaida įvyksta, kai programa bando pasiekti duomenis arba kodą savo adresų erdvėje, bet šiuo metu nėra sistemos RAM.Keitimas:Kai tik įvyksta puslapio klaida, operacinė sistema bandys paimti tą puslapį iš antrinės atminties ir bandys jį pakeisti vienu iš RAM puslapių. Šis procesas vadinamas keitimu.

Triukšmas yra tada, kai puslapių gedimas ir keitimas vyksta labai dažnai ir didesniu greičiu, o tada operacinė sistema turi praleisti daugiau laiko keisdama šiuos puslapius. Ši operacinės sistemos būsena vadinama daužymu. Dėl daužymo procesoriaus panaudojimas sumažės arba bus nereikšmingas.

Kas yra Thrash

Pagrindinė koncepcija yra ta, kad jei procesui skiriama per mažai kadrų, bus per daug ir per dažni puslapio gedimai. Dėl to CPU neatliktų jokio vertingo darbo, o procesoriaus panaudojimas smarkiai sumažėtų.

Tada ilgalaikis planuotojas bandys pagerinti procesoriaus naudojimą, įkeldamas į atmintį daugiau procesų, taip padidindamas kelių programavimo laipsnį. Deja, dėl to dar labiau sumažėtų procesoriaus panaudojimas, sukeldama grandininę reakciją į didesnius puslapių gedimus, o po to padidėtų kelių programavimo laipsnis, vadinamas „trašymu“.

Algoritmai mušimo metu

Kaskart prasidėjus klaidinimui, operacinė sistema bando taikyti visuotinį puslapio pakeitimo algoritmą arba vietinį puslapio keitimo algoritmą.

1. Visuotinis puslapio pakeitimas

Kadangi visuotinis puslapių pakeitimas gali atnešti bet kurį puslapį, jis bando pateikti daugiau puslapių, kai tik aptinkamas klaidinimas. Tačiau iš tikrųjų atsitiks tai, kad jokiam procesui negauna pakankamai kadrų, ir dėl to plakimas vis labiau didės. Todėl visuotinis puslapių keitimo algoritmas netinka, kai įvyksta sumušimas.

2. Vietinio puslapio keitimas

Skirtingai nuo visuotinio puslapio keitimo algoritmo, vietinis puslapio keitimas atrinks puslapius, kurie priklauso tik tam procesui. Taigi yra galimybė sumažinti daužymą. Tačiau įrodyta, kad vietinio puslapio pakeitimas turi daug trūkumų. Todėl vietinis puslapio keitimas tėra alternatyva visuotiniam puslapio pakeitimui, kai atsitinka.

Sumušimo priežastys

Programos arba darbo krūviai gali sukelti trikdžių ir rimtų našumo problemų, tokių kaip:

  • Jei procesoriaus panaudojimas yra per mažas, mes padidiname kelių programavimo laipsnį įdiegdami naują sistemą. Naudojamas visuotinis puslapio keitimo algoritmas. CPU planuoklis mato mažėjantį procesoriaus panaudojimą ir padidina kelių programavimo laipsnį.
  • CPU panaudojimas skaičiuojamas pagal daugiaprogramavimo laipsnį.
  • Didėjant kelių programavimo lygiui, didėja ir procesoriaus panaudojimas.
  • Jei kelių programavimo laipsnis dar labiau padidinamas, prasideda mušimas, o procesoriaus panaudojimas smarkiai sumažėja.
  • Taigi šiuo metu, norėdami padidinti procesoriaus panaudojimą ir sustabdyti mušimą, turime sumažinti kelių programavimo laipsnį.

Kaip pašalinti sumušimą

Sumušimas turi tam tikro neigiamo poveikio standžiojo disko būklei ir sistemos veikimui. Todėl norint to išvengti, būtina imtis tam tikrų veiksmų. Norėdami išspręsti sumušimo problemą, pateikiami šie metodai, pavyzdžiui:

    Sureguliuokite apsikeitimo failo dydį:Jei sistemos apsikeitimo failas sukonfigūruotas netinkamai, diskas taip pat gali būti sugadintas.Padidinkite RAM kiekį:Kadangi dėl nepakankamos atminties, diskas gali sugadinti, vienas iš sprendimų yra pridėti daugiau RAM į nešiojamąjį kompiuterį. Turėdamas daugiau atminties, kompiuteris gali lengvai atlikti užduotis ir nereikės per daug dirbti. Paprastai tai yra geriausias ilgalaikis sprendimas.Sumažinkite kompiuteryje veikiančių programų skaičių:Jei fone veikia per daug programų, jūsų sistemos resursai sunaudos daug. Likęs sistemos resursas yra lėtas, todėl gali būti sugadintas. Taigi uždarant kai kurios programos išlaisvins tam tikrus išteklius, kad galėtumėte tam tikru mastu išvengti sugadinimo.Pakeiskite programas:Pakeiskite programas, kuriose yra daug atminties, tomis, kurios naudoja mažiau atminties.

Sumušimo prevencijos metodai

Vietinio puslapio pakeitimas yra geresnis nei visuotinio puslapio pakeitimas, tačiau vietinio puslapio pakeitimas turi daug trūkumų, todėl kartais tai nėra naudinga. Todėl toliau pateikiami keli kiti metodai, naudojami mušant:

1. Vietovės modelis

Vietovė yra puslapių, kurie aktyviai naudojami kartu, rinkinys. Vietovės modelis teigia, kad vykstant procesui, jis persikelia iš vienos vietovės į kitą. Taigi programa paprastai susideda iš kelių skirtingų vietovių, kurios gali sutapti.

Pavyzdžiui, kai funkcija iškviečiama, ji apibrėžia naują vietovę, kurioje atmintyje daromos nuorodos į funkcijos iškvietimo instrukcijas, vietinius ir globalius kintamuosius ir tt Panašiai, kai funkcija išjungiama, procesas palieka šią vietovę.

2. Darbinis rinkinio modelis

Šis modelis pagrįstas aukščiau nurodyta Vietovės modelio koncepcija.

Pagrindinis principas teigia, kad jei procesui paskirsime pakankamai kadrų, kad tilptų jo dabartinė vieta, jis suges tik tada, kai persikels į kokią nors naują vietovę. Bet jei skiriami kadrai yra mažesni nei dabartinės vietovės dydis, procesas bus sugadintas.

Pagal šį modelį, remiantis parametru A, darbo rinkinys apibrėžiamas kaip puslapių rinkinys naujausiose „A“ puslapių nuorodose. Taigi visi aktyviai naudojami puslapiai visada bus darbo rinkinio dalis.

java rūšiavimo sąrašas

Darbo rinkinio tikslumas priklauso nuo parametro A reikšmės. Jei A yra per didelis, darbo rinkiniai gali sutapti. Kita vertus, esant mažesnėms A reikšmėms, vietovė gali būti neapimta visiškai.

Jei D yra bendra kadrų ir WSS paklausaiyra proceso i darbinis rinkinio dydis,

D = ⅀ WSSi

Dabar, jei „m“ yra atmintyje esančių kadrų skaičius, yra dvi galimybės:

  • D>m, t. y. bendras poreikis viršija kadrų skaičių, tada įvyks sumušimas, nes kai kurie procesai negautų pakankamai kadrų.
  • D<=m, then there would be no thrashing.< li>

Jei yra pakankamai papildomų kadrų, į atmintį galima įkelti dar keletą procesų. Kita vertus, jei susumavus darbinių rinkinių dydžius viršija kadrų prieinamumą, kai kurie procesai turi būti sustabdyti (iškeisti iš atminties).

Ši technika apsaugo nuo sumušimo ir užtikrina didžiausią įmanomą kelių programavimo laipsnį. Taigi jis optimizuoja procesoriaus naudojimą.

3. Puslapio gedimų dažnis

Tiesesnis būdas kovoti su mušimu yra tas, kuris naudoja puslapio gedimo dažnio koncepciją.

Kas yra Thrash

Problema, susijusi su klaidinimu, yra didelis puslapio klaidų dažnis, taigi, čia siekiama kontroliuoti puslapio klaidų dažnį.

Jei puslapio klaidų dažnis yra per didelis, tai reiškia, kad procesui skirta per mažai kadrų. Priešingai, mažas puslapio klaidų dažnis rodo, kad procese yra per daug kadrų.

Viršutinė ir apatinė ribos gali būti nustatytos pagal pageidaujamą puslapio klaidų dažnį, kaip parodyta diagramoje.

Jei puslapio klaidų dažnis nukrenta žemiau apatinės ribos, kadrai gali būti pašalinti iš proceso. Panašiai, jei puslapio klaidų dažnis viršija viršutinę ribą, procesui gali būti skirta daugiau kadrų.

Kitaip tariant, grafinė sistemos būsena turėtų būti apribota stačiakampio formos sritimi, suformuota pateiktoje diagramoje.

Jei puslapio klaidų dažnis yra didelis, kai nėra laisvų kadrų, kai kurie procesai gali būti sustabdyti ir jiems priskirti gali būti perskirstyti kitiems procesams. Sustabdyti procesai vėliau gali būti pradėti iš naujo.