Atrodiet un izlabojiet atmiņas noplūdes operētājsistēmā Windows 10/8/7

Satura rādītājs:

Atrodiet un izlabojiet atmiņas noplūdes operētājsistēmā Windows 10/8/7
Atrodiet un izlabojiet atmiņas noplūdes operētājsistēmā Windows 10/8/7

Video: Atrodiet un izlabojiet atmiņas noplūdes operētājsistēmā Windows 10/8/7

Video: Atrodiet un izlabojiet atmiņas noplūdes operētājsistēmā Windows 10/8/7
Video: CS50 2015 - Week 10 - YouTube 2024, Aprīlis
Anonim

A Atmiņas noplūde ir nepareiza resursu izvietošana datorprogrammā, jo ir bojāts atmiņas sadalījums. Tas notiek, ja neizmantotā RAM vieta paliek neizlaista. Atmiņas noplūdi nedrīkst sajaukt ar telpu noplūdi, kas attiecas uz programmu, kas izmanto vairāk RAM nekā nepieciešams. Tiek uzskatīts, ka atmiņā noplūde sistēmā Windows 10/8/7 ir noticis, kad atmiņa nav pieejama, lai gan tā netiek izmantota.

Atmiņas noplūdes operētājsistēmā Windows 10

Pirms sākat, jums vajadzētu zināt, ka atmiņas noplūde ir programmatūras problēma atkļūdošanai, piemēram, Java, JavaScript, C / C ++, Windows utt. Fiziski nav nepieciešams nomainīt RAM vai cieto disku.

Image
Image

Kāpēc tas ir slikti

Ir skaidrs, ka atmiņas noplūde ir slikta, jo tā ir kļūda, kļūme sistēmā. Bet uzzināsim, kā tieši tā ietekmē sistēmu:

  1. Tā kā atmiņa netiek atbrīvota pat tad, ja tā netiek lietota, tas izraisa atmiņas sarukšanu.
  2. Atmiņas izsmelšana noved pie programmatūras novecošanas.
  3. Samazinot pieejamo atmiņu, sistēma palielina reakcijas laiku un sliktu veiktspēju.
  4. Nekontrolēta atmiņas noplūde galu galā var novest pie programmas crash.

Lai identificētu atmiņas noplūdi, programmētājam ir jābūt pieejamam programmas avota kodam.

Noplūdes atrašana

Lai atrisinātu problēmu, vispirms to ir jāidentificē. Galvenie pasākumi atmiņas noplūdes atrašanai ir šādi:

  1. Apstiprinājums: Nosakot, vai ir noticis noplūde.
  2. Kernel režīma atmiņas noplūdes atrašana: Noplūdes vietas noteikšana, ko izraisa kodola režīma draivera komponents.
  3. Lietotāja režīma atmiņas noplūdes atrašana: Lietotāja režīma draivera vai lietotnes izraisīta noplūdes atrašana.

Atmiņas piešķiršana

Ir dažādi režīmi, kuros lietojumprogrammas piešķir RAM. Ja pēc izmantošanas telpa netiek atbrīvota, atmiņas noplūde notiks neatkarīgi no piešķiršanas veida. Daži kopīgi izplatīšanas veidi ir šādi:

  1. HealAlloc funkcija kaudzes atmiņas piešķiršanai. C / C + + runtime ekvivalenti ir malloc un jauni.
  2. VirtualAlloc funkcija tiešai piešķiršanai no OS.
  3. Kernel32 API, lai saglabātu lietotnes kernelu atmiņu. Piemēram, CreateFile, CreateThread.
  4. User32 API un Gdi32 API.

Atmiņas noplūdes novēršana

Mēs visi zinām, ka profilakse ir labāka nekā ārstēšana, tāpēc šeit ir daži veidi, kā novērst atmiņas noplūdi.

Uzraudzības paradumi

Image
Image

Jums ir jāuzmanās par neparastu RAM lietošanu atsevišķās programmās un lietojumprogrammās. Jūs varat doties uz Windows uzdevumu pārvaldnieku, nospiežot CTRL + SHIFT + ESC un pievienojiet tādas kolonnas kā Rokturi, Lietotāja objekti, GDI objekti utt.

Tas palīdzēs jums viegli pārraudzīt resursu izmantošanu.

Microsoft rīki, lai diagnosticētu atmiņas noplūdes

Dažādi rīki diagnozē atmiņas noplūdi dažādiem sadales režīmiem:

  1. Pieteikuma verificētājs diagnozē kaudzes noplūdes.
  2. UMDH (Windows atkļūdošanas rīku komponents) diagnosticē noplūdi atsevišķiem procesiem, uzraugot kaudzes atmiņas sadali.
  3. Trace Capture, lai rūpīgi analizētu RAM izmantošanu.
  4. Xperf pārlūko arī kaudzes sadales modeļus.
  5. CRT Debug Heap ne tikai izseko kaudzes sadali, bet arī ļauj kodēšanas praksi, lai samazinātu noplūdes.
  6. JavaScript atmiņas noplūdes detektors novērš atmiņas noplūdes kodos.

Lietošanas padomi

  1. Izmantojiet kodolu ROKASGRĀMATAs un citus viedos norādījumus par Win32 resursiem un kaudzes sadali.
  2. Iegūstiet nodarbības automātiskai resursu pārvaldībai kodola piešķiršanai no ATL bibliotēkas. C + + standarts ir auto_ptr par kaudzes piešķīrumiem.
  3. Iekļaujiet COM interfeisa norādes "viedajos norādēs", izmantojot _com_ptr_t vai _bstr_t vai _variant_t.
  4. Uzraugiet.NET kodu neparedzētai atmiņas izmantošanai.
  5. Izvairieties no vairākiem izejas ceļiem funkcijām, lai funkciju beigās ļaut nodalīt asignējumus no mainīgajiem lielākajā daļā bloku.
  6. Izmantojiet vietējos izņēmumus tikai pēc tam, kad esat atbrīvojis visus piešķīrumus gala blokā. Lai izmantotu C + + izņēmumus, iesaiņojiet visu kaudzi un pārdaliet piešķīrumus viedajos rādītājos.
  7. Vienmēr izsauciet PropVariantClear funkcija pirms PROPVARIANT objekta atkārtotas aktivizēšanas vai izmetīšanas.

Atmiņas noplūdes problēmu novēršana sistēmā Windows

Tāpat kā dažādi veidi, kā novērst atmiņas noplūdi, ir dažādi veidi, kā apturēt atmiņas noplūdi.

1] Aizver procesus un restartējiet.

Ja redzat nevajadzīgu procesu, tiek aizņemts pārāk daudz RAM, procesu var pārtraukt Task Manager. Jums būs nepieciešams restartēt ierīci tā, lai atbrīvotā vieta būtu pieejama citiem procesiem. Bez restartējas atmiņas noplūdes problēma netiks atrisināta. Viens konkrēts process, kam ir kļūdas, lai palēninātu datoru, ir Runtime Broker. Izmēģiniet, ja atspējošana darbojas vienīgi.

2] atmiņas diagnostikas rīki

Lai piekļūtu integrētajam Windows atmiņas diagnostikas rīks:
Lai piekļūtu integrētajam Windows atmiņas diagnostikas rīks:
  1. Saglabājiet visu savu svarīgo darbu.
  2. Nospiediet Win + R lai atvērtu Palaist logs
  3. Ierakstiet komandu mdsched.exe iekš Palaist logs
  4. Restartējiet datoru.
  5. Pēc restartēšanas veiciet pamata skenēšanu vai dodieties uz " Progresīvs"Opcijas, piemēram," Pārbaudes maisījums"Vai" Pass skaits ’.
  6. Nospiediet F10 lai sāktu pārbaudi.

Tie joprojām ir pagaidu labojumi.

3] Pārbaudiet draivera atjauninājumus

Novecojuši draiveri izraisa atmiņas noplūdes. Saglabājiet visus draiverus:
Novecojuši draiveri izraisa atmiņas noplūdes. Saglabājiet visus draiverus:
  1. Nospiediet Win + R un atveriet Palaist logs Tips devmgmt.msc un nospiediet taustiņu Enter. Tas aizvedīs jūs uz Ierīču pārvaldnieks.
  2. Pārbaudiet novecojušos draiverus un atjauniniet tos visus.
  3. Iespējams, ka neatbildētos atjauninājumus pārbaudiet Windows atjauninājumā.

Tas bija vienkāršs.

4] Optimizējiet veiktspēju

Pielāgojot Windows veiktspēju, viss pārvaldīs visu, tostarp procesoru plānošanu un atmiņas izmantošanu, lai apturētu atmiņas noplūdi. Veiciet šīs darbības:
Pielāgojot Windows veiktspēju, viss pārvaldīs visu, tostarp procesoru plānošanu un atmiņas izmantošanu, lai apturētu atmiņas noplūdi. Veiciet šīs darbības:
  1. Ar peles labo pogu noklikšķiniet uz ' Šis dators"Un izvēlieties" Progresīvs'Iestatījumi kreisajā rūtī.
  2. Saskaņā ' Progresīvs'Tab, doties uz' Veiktspēja", Kam seko" Iestatījumi ’.
  3. Pārbaudiet " Pielāgojiet labāko sniegumu"Un noklikšķiniet labi.
  4. Restartējiet un pārbaudiet, vai problēma ir atrisināta.

Ja šis vienkāršais risinājums nedarbojās, izmēģiniet nākamo risinājumu.

5] Atspējot programmas, kas darbojas Startup

Atspējošana traucējošās programmas ir vienīgais veids, kā atbrīvoties no atmiņas noplūdes problēmas. Atveriet uzdevumu pārvaldnieku un atspējojiet problēmu novēršanas programmu. Ja jūs nezināt, kuras programmas rada problēmas, rīkojieties šādi:
Atspējošana traucējošās programmas ir vienīgais veids, kā atbrīvoties no atmiņas noplūdes problēmas. Atveriet uzdevumu pārvaldnieku un atspējojiet problēmu novēršanas programmu. Ja jūs nezināt, kuras programmas rada problēmas, rīkojieties šādi:
  1. Iet uz ' Uzdevumu pārvaldnieks ’.
  2. Iet uz ' Uzsākt ’.
  3. Atspējojiet starta programmas, kurām nav nepieciešams palaist pēc noklusējuma.

6] Defrag cietais disks

Kaut arī Windows 10 automātiski to dara, iespējams, dažreiz jādefigrē diskdziņi, lai optimizētu veiktspēju:
Kaut arī Windows 10 automātiski to dara, iespējams, dažreiz jādefigrē diskdziņi, lai optimizētu veiktspēju:
  1. Iet uz ' Šis dators"Vai" Mans dators ’.
  2. Ar peles labo pogu noklikšķiniet uz sistēmas cietā diska (parasti C: disks).
  3. Iet uz ' Rīki' zem ' Īpašības"Un izvēlieties" Optimizēt ’.
  4. Izvēlieties dragu defrag un izvēlieties " Analizēt ’.

Restartējiet datoru pēc jaunās sadrumstalotības.

7] ClearPage fails slēgšanas laikā

Tagad tas kļūst sarežģīts - bet neuztraucieties. Tālāk ir norādīts, kā izdzēst lappušu failu ik pēc izslēgšanas:

  1. Tips regedit Meklēt, lai palaistu reģistra redaktoru.
  2. Ievadiet šo ceļu: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management
  3. Mainīt vērtību ClearPageFileAtShutDown uz "1".
  4. Saglabājiet izmaiņas un restartējiet ierīci.

Tam vajadzētu to darīt.

9] Atspējot Superfetch

Šis Windows serviss optimizē veiktspēju, samazinot sāknēšanas laiku. Tas ļauj Windows apstrādāt RAM lietojumu. Dzīve pēc Superfetch atspējošanas nav ērta, bet, ja jums tas ir jādara. Vismaz izmēģiniet to vienu, lai izolētu problēmu:

  1. Meklēt services.msc un dodieties uz pakalpojumu menedžeri.
  2. Meklēt ' Superfetch'Un ar peles labo pogu noklikšķiniet uz tā, lai dotos uz' Īpašības ’.
  3. Izvēlieties " Apstāties ’.
  4. Arī " Atspējot'Pakalpojums no nolaižamās izvēlnes.
  5. Restartējiet datoru un pārbaudiet, vai veiktspēja ir uzlabojusies.

Iespējot Superfetch, ja tas nedarbojas.

10] Pārbaudiet, vai nav ļaunprogrammatūras

Lai skenētu un novērstu ļaunprātīgu programmatūru, izmantojiet trešās puses pretvīrusu programmatūru vai Windows 10 iekšējo Windows Defender. Pārliecinieties, vai antivīruss ir atjaunināts, lai atbalstītu savu operētājsistēmu, lai tas nekļūtu par atmiņas noplūdes iemeslu.

Jebkurš risinājums, kāds Jums varētu būt nepieciešams, lai atrastu vai novērstu atmiņas noplūdi, ir šeit. Jūs varat uzzināt vairāk par atmiņas noplūdēm MSDN un Microsoft.

Saistītie raksti:

  • Fix Windows Stop kļūdas vai Blue Screen of Death
  • Kāpēc Windows rāda mazāk RAM nekā instalēta?
  • Padariet Windows 10 Start, Run, Shutdown Faster
  • Fiziskās atmiņas ierobežojumi Crash Dump failos Windows 10/8/7
  • Atmiņas kompresija sistēmā Windows 10

Ieteicams: