logo

Ce este Thrash?

În informatică, thrash este performanța slabă a unui sistem de memorie virtuală (sau de paginare) atunci când aceleași pagini sunt încărcate în mod repetat din cauza lipsei memoriei principale pentru a le păstra în memorie. În funcție de configurație și algoritm, debitul real al unui sistem se poate degrada cu mai multe ordine de mărime.

În informatică, lovire apare atunci când resursele de memorie virtuală ale unui computer sunt suprautilizate, ceea ce duce la o stare constantă de paginare și erori de pagină, inhibând majoritatea procesării la nivel de aplicație. Determină degradarea sau prăbușirea performanței computerului. Situația poate continua la nesfârșit până când utilizatorul închide unele aplicații care rulează sau procesele active eliberează resurse suplimentare de memorie virtuală.

Pentru a ști mai clar despre thrashing, mai întâi, trebuie să știm despre eroarea paginii și schimbarea.

    Eroare de pagină:Știm că fiecare program este împărțit în câteva pagini. O eroare de pagină apare atunci când un program încearcă să acceseze date sau coduri în spațiul său de adrese, dar nu se află în prezent în memoria RAM de sistem.Schimbarea:Ori de câte ori apare o eroare de pagină, sistemul de operare va încerca să preia pagina respectivă din memoria secundară și să o schimbe cu una dintre paginile din RAM. Acest proces se numește schimbare.

lovire este atunci când eroarea paginii și schimbarea se întâmplă foarte frecvent la o rată mai mare, iar apoi sistemul de operare trebuie să petreacă mai mult timp schimbând aceste pagini. Această stare în sistemul de operare este cunoscută sub numele de thrashing. Din cauza thrashing, utilizarea procesorului va fi redusă sau neglijabilă.

Ce este Thrash

Conceptul de bază implicat este că, dacă unui proces i se alocă prea puține cadre, atunci vor fi prea multe și prea frecvente erori de pagină. Ca rezultat, CPU nu va face nicio muncă valoroasă, iar utilizarea procesorului ar scădea drastic.

Planificatorul pe termen lung ar încerca apoi să îmbunătățească utilizarea procesorului prin încărcarea mai multor procese în memorie, crescând astfel gradul de multiprogramare. Din păcate, acest lucru ar duce la o scădere suplimentară a utilizării CPU, declanșând o reacție înlănțuită a erorilor de pagină mai mari, urmată de o creștere a gradului de multiprogramare, numită thrashing.

Algoritmi în timpul Thrashing

Ori de câte ori începe thrashingul, sistemul de operare încearcă să aplice fie algoritmul de înlocuire globală a paginii, fie algoritmul de înlocuire a paginii locale.

1. Înlocuirea globală a paginii

Deoarece înlocuirea globală a paginii poate aduce orice pagină, încearcă să aducă mai multe pagini ori de câte ori este găsită thrashing. Dar ceea ce se va întâmpla de fapt este că niciun proces nu primește suficiente cadre și, ca urmare, thrashing-ul va crește din ce în ce mai mult. Prin urmare, algoritmul global de înlocuire a paginii nu este potrivit atunci când are loc thrashing.

2. Înlocuirea paginii locale

Spre deosebire de algoritmul global de înlocuire a paginilor, înlocuirea locală a paginii va selecta paginile care aparțin numai procesului respectiv. Deci există șansa de a reduce thrashing-ul. Dar este dovedit că există multe dezavantaje dacă folosim înlocuirea locală a paginii. Prin urmare, înlocuirea paginilor locale este doar o alternativă la înlocuirea globală a paginii într-un scenariu de thrashing.

Cauzele baterii

Programele sau încărcăturile de lucru pot provoca thrashing și duc la probleme grave de performanță, cum ar fi:

  • Dacă utilizarea CPU este prea mică, creștem gradul de multiprogramare prin introducerea unui nou sistem. Se folosește un algoritm global de înlocuire a paginii. Programatorul CPU vede scăderea utilizării CPU și crește gradul de multiprogramare.
  • Utilizarea CPU este reprezentată în funcție de gradul de multiprogramare.
  • Pe măsură ce crește gradul de multiprogramare, crește și utilizarea CPU.
  • Dacă gradul de multiprogramare este crescut în continuare, se instalează thrashing, iar utilizarea procesorului scade brusc.
  • Deci, în acest moment, pentru a crește utilizarea CPU și pentru a opri thrashing-ul, trebuie să scădem gradul de multiprogramare.

Cum să elimini baterea

Thrashing are unele efecte negative asupra sănătății hard diskului și a performanței sistemului. Prin urmare, este necesar să luați câteva măsuri pentru a o evita. Pentru a rezolva problema thrashing, iată următoarele metode, cum ar fi:

    Ajustați dimensiunea fișierului de schimb:Dacă fișierul de schimb de sistem nu este configurat corect, vi se poate întâmpla și distrugerea discului.Creșteți cantitatea de RAM:Deoarece memoria insuficientă poate provoca zdrobirea discului, o soluție este să adăugați mai multă RAM la laptop. Cu mai multă memorie, computerul poate gestiona sarcini cu ușurință și nu trebuie să funcționeze excesiv. În general, este cea mai bună soluție pe termen lung.Reduceți numărul de aplicații care rulează pe computer:Dacă există prea multe aplicații care rulează în fundal, resursa de sistem va consuma mult. Și resursa de sistem rămasă este lentă, ceea ce poate duce la thrashing. Așadar, în timp ce se închid, unele aplicații vor elibera unele resurse, astfel încât să puteți evita thrashing într-o oarecare măsură.Înlocuiți programe:Înlocuiți acele programe care au o memorie grea ocupată cu echivalente care utilizează mai puțină memorie.

Tehnici de prevenire a loviturilor

Înlocuirea paginii locale este mai bună decât înlocuirea paginii globale, dar înlocuirea paginii locale are multe dezavantaje, așa că uneori nu este utilă. Prin urmare, mai jos sunt câteva alte tehnici care sunt utilizate pentru a gestiona thrashing:

1. Model de localitate

O localitate este un set de pagini care sunt utilizate în mod activ împreună. Modelul localității afirmă că pe măsură ce un proces se execută, acesta se deplasează dintr-o localitate în alta. Astfel, un program este în general compus din mai multe localități diferite care se pot suprapune.

De exemplu, atunci când o funcție este apelată, aceasta definește o nouă localitate în care se fac referințe de memorie la instrucțiunile de apelare a funcției, variabilele locale și globale etc. În mod similar, atunci când funcția este ieșită, procesul părăsește această localitate.

2. Model de set de lucru

Acest model se bazează pe conceptul de model de localitate menționat mai sus.

Principiul de bază afirmă că, dacă alocam suficiente cadre unui proces pentru a se adapta localității sale actuale, acesta va defecta numai ori de câte ori se mută într-o localitate nouă. Dar dacă cadrele alocate sunt mai mici decât dimensiunea localității curente, procesul este obligat să se destrame.

Conform acestui model, pe baza parametrului A, setul de lucru este definit ca setul de pagini din cele mai recente referințe de pagină „A”. Prin urmare, toate paginile utilizate în mod activ ar ajunge întotdeauna să facă parte din setul de lucru.

c# conține șir

Precizia setului de lucru depinde de valoarea parametrului A. Dacă A este prea mare, atunci seturile de lucru se pot suprapune. Pe de altă parte, pentru valori mai mici ale lui A, este posibil ca localitatea să nu fie acoperită în întregime.

Dacă D este cererea totală de cadre și WSSieste dimensiunea setului de lucru pentru procesul i,

D = ⅀ WSSi

Acum, dacă „m” este numărul de cadre disponibile în memorie, există două posibilități:

  • D>m, adică cererea totală depășește numărul de cadre, apoi va avea loc thrashing deoarece unele procese nu ar obține suficiente cadre.
  • D<=m, then there would be no thrashing.< li>

Dacă există suficiente cadre suplimentare, atunci mai multe procese pot fi încărcate în memorie. Pe de altă parte, dacă însumarea dimensiunilor seturilor de lucru depășește disponibilitatea cadrelor, unele dintre procese trebuie să fie suspendate (schimbate din memorie).

Această tehnică previne thrashing-ul împreună cu asigurarea celui mai înalt grad de multiprogramare posibil. Astfel, optimizează utilizarea procesorului.

3. Frecvența erorilor paginii

O abordare mai directă pentru a gestiona thrashing este cea care utilizează conceptul Page-Fault Frequency.

Ce este Thrash

Problema asociată cu thrashing este rata mare de eroare a paginii și, prin urmare, conceptul aici este de a controla rata de eroare a paginii.

Dacă rata de eroare a paginii este prea mare, înseamnă că procesul are prea puține cadre alocate. Dimpotrivă, o rată scăzută de eroare a paginii indică faptul că procesul are prea multe cadre.

Limitele superioare și inferioare pot fi stabilite pentru rata de eroare a paginii dorită, așa cum se arată în diagramă.

Dacă rata de eroare a paginii scade sub limita inferioară, cadrele pot fi eliminate din proces. În mod similar, dacă rata erorilor de pagină depășește limita superioară, procesului pot fi alocate mai multe cadre.

Cu alte cuvinte, starea grafică a sistemului ar trebui să fie limitată la regiunea dreptunghiulară formată în diagrama dată.

Dacă rata de eroare a paginii este mare, fără cadre libere, unele procese pot fi suspendate și alocate acestora pot fi realocate altor procese. Procesele suspendate pot reporni mai târziu.