logo

Kas ir Thrash?

Datorzinātnēs, thrash ir vāja virtuālās atmiņas (vai peidžeru) sistēmas veiktspēja, kad tās pašas lapas tiek atkārtoti ielādētas, jo trūkst galvenās atmiņas, lai tās saglabātu atmiņā. Atkarībā no konfigurācijas un algoritma faktiskā sistēmas caurlaidspēja var pasliktināties par vairākām kārtām.

Datorzinātnēs, dauzīt rodas, ja datora virtuālās atmiņas resursi tiek pārmērīgi izmantoti, izraisot pastāvīgu peidžeru stāvokli un lappušu kļūdas, kavējot lielāko daļu lietojumprogrammu līmeņa apstrādes. Tas izraisa datora veiktspējas pasliktināšanos vai sabrukumu. Situācija var turpināties bezgalīgi, līdz lietotājs aizver dažas darbojošās programmas vai aktīvie procesi atbrīvos papildu virtuālās atmiņas resursus.

Lai skaidrāk uzzinātu par sagraušanu, vispirms mums ir jāzina par lapu kļūmēm un apmaiņu.

    Lapas kļūda:Mēs zinām, ka katra programma ir sadalīta atsevišķās lapās. Lapas kļūda rodas, ja programma mēģina piekļūt datiem vai kodam savā adrešu telpā, bet pašlaik neatrodas sistēmas RAM.Mainīšana:Ikreiz, kad rodas lapas kļūda, operētājsistēma mēģinās izgūt šo lapu no sekundārās atmiņas un mēģināt to nomainīt ar kādu no RAM lapām. Šo procesu sauc par apmaiņu.

Traukāšana Tas ir tad, kad lapas kļūme un apmaiņa notiek ļoti bieži ar lielāku ātrumu, un tad operētājsistēmai ir jāpavada vairāk laika, lai nomainītu šīs lapas. Šis stāvoklis operētājsistēmā ir pazīstams kā sagraušana. Sagraušanas dēļ CPU izmantošana samazināsies vai būs nenozīmīga.

Kas ir Thrash

Iesaistītā pamatkoncepcija ir tāda, ka, ja procesam tiek piešķirts pārāk maz kadru, būs pārāk daudz un pārāk biežu lapu kļūdu. Tā rezultātā centrālais procesors neveiks nekādu vērtīgu darbu, un CPU izmantošana krasi samazinātos.

Ilgtermiņa plānotājs tad mēģinātu uzlabot CPU izmantošanu, ielādējot atmiņā vēl dažus procesus, tādējādi palielinot vairākprogrammēšanas pakāpi. Diemžēl tas izraisītu CPU noslogojuma turpmāku samazināšanos, izraisot lielāku lapu kļūdu ķēdes reakciju, kam sekotu vairāku programmēšanas pakāpes palielināšanās, ko sauc par sagraušanu.

Algoritmi sagraušanas laikā

Ikreiz, kad tiek sākta sagraušana, operētājsistēma mēģina lietot globālo lapu aizstāšanas algoritmu vai lokālo lapu aizstāšanas algoritmu.

1. Globālā lapas nomaiņa

Tā kā globālā lapu aizstāšana var ienest jebkuru lapu, tā mēģina ienest vairāk lapu ikreiz, kad tiek konstatēta sagraušana. Bet patiesībā notiks tas, ka neviens process nesaņem pietiekami daudz kadru, un rezultātā dauzīšana palielināsies arvien vairāk. Tāpēc globālais lapu aizstāšanas algoritms nav piemērots, ja notiek sagraušana.

2. Vietējās lapas nomaiņa

Atšķirībā no globālā lapu aizstāšanas algoritma, vietējā lapu aizstāšana atlasīs lapas, kas pieder tikai šim procesam. Tātad ir iespēja samazināt kulšanu. Taču ir pierādīts, ka lokālās lapas aizstāšanai ir daudz trūkumu. Tāpēc lokāla lapu aizstāšana ir tikai alternatīva globālai lapu aizstāšanai sagraušanas scenārijā.

Sagraušanas cēloņi

Programmas vai darba slodzes var izraisīt sagraušanu, kā arī nopietnas veiktspējas problēmas, piemēram:

  • Ja CPU noslogojums ir pārāk zems, mēs paaugstinām daudzprogrammēšanas pakāpi, ieviešot jaunu sistēmu. Tiek izmantots globāls lapas aizstāšanas algoritms. CPU plānotājs redz CPU noslogojuma samazināšanos un palielina daudzprogrammēšanas pakāpi.
  • CPU izmantošana tiek attēlota attiecībā pret daudzprogrammēšanas pakāpi.
  • Palielinoties daudzprogrammēšanas pakāpei, palielinās arī CPU noslodze.
  • Ja vairākprogrammēšanas pakāpe tiek vēl vairāk palielināta, sākas sagraušana un CPU noslodze strauji samazinās.
  • Tāpēc šajā brīdī, lai palielinātu CPU noslogojumu un pārtrauktu dauzīšanu, mums ir jāsamazina daudzprogrammēšanas pakāpe.

Kā novērst sagraušanu

Sagraušanai ir zināma negatīva ietekme uz cietā diska stāvokli un sistēmas veiktspēju. Tāpēc ir jāveic dažas darbības, lai no tā izvairītos. Lai atrisinātu kulšanas problēmu, izmantojiet šādas metodes, piemēram:

    Pielāgojiet mijmaiņas faila lielumu:Ja sistēmas mijmaiņas fails nav pareizi konfigurēts, diska iekļūšana var notikt arī ar jums.Palieliniet RAM apjomu:Tā kā nepietiekama atmiņa var izraisīt diska sagraušanu, viens risinājums ir pievienot klēpjdatoram vairāk RAM. Ar lielāku atmiņu jūsu dators var viegli tikt galā ar uzdevumiem un tam nav jāstrādā pārmērīgi. Parasti tas ir labākais ilgtermiņa risinājums.Samaziniet datorā strādājošo lietojumprogrammu skaitu:Ja fonā darbojas pārāk daudz lietojumprogrammu, jūsu sistēmas resurss patērēs daudz. Un atlikušais sistēmas resurss ir lēns, kas var izraisīt sagraušanu. Tāpēc, aizverot, dažas lietojumprogrammas atbrīvos dažus resursus, lai jūs varētu izvairīties no sagraušanas.Aizstāt programmas:Aizstājiet tās programmas, kurām ir liela atmiņa, ar līdzvērtīgām programmām, kas izmanto mazāk atmiņas.

Sitiena novēršanas paņēmieni

Vietējās lapas aizstāšana ir labāka nekā globālās lapas aizstāšana, taču vietējai lapas aizstāšanai ir daudz trūkumu, tāpēc dažreiz tā nav noderīga. Tāpēc tālāk ir norādīti daži citi paņēmieni, kas tiek izmantoti, lai apstrādātu kulšanu:

1. Vietnes modelis

Vieta ir lapu kopa, kas tiek aktīvi izmantota kopā. Vietnes modelis nosaka, ka procesam izpildoties, tas pārvietojas no vienas vietas uz citu. Tādējādi programma parasti sastāv no vairākām dažādām vietām, kuras var pārklāties.

Piemēram, kad funkcija tiek izsaukta, tā definē jaunu vietu, kurā tiek veiktas atmiņas atsauces uz funkcijas izsaukšanas instrukcijām, vietējiem un globālajiem mainīgajiem utt. Līdzīgi, kad funkcija tiek izsaukta, process atstāj šo vietu.

2. Darba komplekta modelis

Šis modelis ir balstīts uz iepriekš minēto Vietas modeļa koncepciju.

Pamatprincips nosaka, ka, ja procesam piešķiram pietiekami daudz kadru, lai pielāgotos tā pašreizējai vietai, tas radīs kļūdu tikai tad, kad tas pārceļas uz kādu jaunu vietu. Bet, ja piešķirtie kadri ir mazāki par pašreizējās vietas lielumu, process ir saistīts ar thrash.

Saskaņā ar šo modeli, pamatojoties uz parametru A, darba kopa tiek definēta kā lappušu kopa jaunākajās “A” lappušu atsaucēs. Tādējādi visas aktīvi izmantotās lapas vienmēr būtu daļa no darba kopas.

java parseint

Darba kopas precizitāte ir atkarīga no parametra A vērtības. Ja A ir pārāk liela, darba kopas var pārklāties. No otras puses, mazākām A vērtībām apgabals var nebūt aptverts pilnībā.

Ja D ir kopējais kadru un WSS pieprasījumsiir procesa i darba komplekta lielums,

D = ⅀ WSSi

Tagad, ja “m” ir atmiņā pieejamo kadru skaits, ir divas iespējas:

  • D>m, t.i., kopējais pieprasījums pārsniedz kadru skaitu, tad notiks sagraušana, jo daži procesi nesaņems pietiekami daudz kadru.
  • D<=m, then there would be no thrashing.< li>

Ja ir pietiekami daudz papildu kadru, tad atmiņā var ielādēt vēl dažus procesus. No otras puses, ja darba kopu izmēru summēšana pārsniedz kadru pieejamību, daži procesi ir jāaptur (jānomaina no atmiņas).

Šis paņēmiens novērš sagraušanu, kā arī nodrošina visaugstāko iespējamo daudzprogrammēšanas pakāpi. Tādējādi tas optimizē CPU izmantošanu.

3. Lapas kļūdu biežums

Tiešāka pieeja, lai apstrādātu sagraušanu, ir tā, kurā tiek izmantota Page-Fault Frequency koncepcija.

Kas ir Thrash

Problēma, kas saistīta ar sagraušanu, ir lielais lappušu kļūdu līmenis, un tādējādi šeit ir paredzēts kontrolēt lapas kļūdu biežumu.

Ja lapas kļūdu līmenis ir pārāk augsts, tas norāda, ka procesam ir piešķirts pārāk maz kadru. Gluži pretēji, zems lappušu kļūdu līmenis norāda, ka procesam ir pārāk daudz kadru.

Augšējo un apakšējo robežu var noteikt vēlamajam lappuses kļūdu biežumam, kā parādīts diagrammā.

Ja lapas kļūdu biežums nokrītas zem apakšējās robežas, kadrus var noņemt no procesa. Tāpat, ja lapas kļūdu līmenis pārsniedz augšējo robežu, procesam var piešķirt vairāk kadru.

Citiem vārdiem sakot, sistēmas grafiskais stāvoklis ir jāierobežo ar taisnstūra apgabalu, kas izveidots dotajā diagrammā.

Ja lapas kļūdu līmenis ir augsts, ja nav brīvu kadru, dažus procesus var apturēt un tiem piešķirtos procesus var pārdalīt citiem procesiem. Apturētos procesus var atsākt vēlāk.