Pāriet uz saturu

Cik daudz atmiņas patiešām var atbrīvot sistēmā Windows

Šajā lapā

Reāli var atbrīvot mazāk, nekā sola “atmiņas optimizētāji”. Šajā eksperimentā fona komponentu atslēgšana atbrīvoja 1,0–1,5 GB pieejamās atmiņas un samazināja saistību apjomu (commit) par 52 % 2. sērijā. Taču populārās ātrās metodes nestrādā: čaulas procesu pārtraukšana — Windows tos pati restartē aptuveni 20 sekunžu laikā; working set tīrīšana — izvietotās lapas paliek RAM kā kešatmiņa; atmiņas pārvaldnieka reģistra parametri — apstiprināta ieguvuma nav. Mērķtiecīga atslēgšana virs jau optimizētas sistēmas deva godīgus +22–30 MB. Atmiņa standby sarakstā ir kešatmiņa, kas jau ir iekļauta “pieejamajā”.

Statuss: galīgie skaitļi iegūti virtuālajā mašīnā ar 8 GB RAM uz Windows 11 (26H2, build 26300.9457). Virzieni apstiprināti ar Microsoft dokumentāciju un mūsu kontrolētajiem eksperimentiem; absolūtie lielumi citā konfigurācijā būs citādi.

Mēs pārbaudījām četrus apgalvojumus:

  1. “Nevajadzīgu” fona procesu pārtraukšana atbrīvo atmiņu.
  2. Working set vai standby saraksta tīrīšana (RAM “optimizētāju” mehānika) atbrīvo atmiņu.
  3. Atmiņas pārvaldnieka reģistra parametri ievērojami atbrīvo atmiņu.
  4. Fona komponentu atslēgšana atbrīvo lielu atmiņas apjomu.
  • Windows 11 Pro, build 26300.9457 (26H2); virtuālā mašīna, 8 GB RAM;
  • divi vienas instalācijas stāvokļi: sākotnējais (“pirms”) un pēc BoosterX optimizācijas profila piemērošanas — mērījums veikts divās neatkarīgās sērijās (detalizēts protokols un pārējie rādītāji — «Tihij prostoj: fon Windows do i posle optimizacii»);
  • virs stāvokļa “pēc” — mērķtiecīgu fona avotu atslēgšanas pakete (ETW diagnostikas autologeri, paziņojumu, ēnu kopēšanas un atjauninājumu orķestrētāja pakalpojumi);
  • rādītāji: pieejamā un aizņemtā atmiņa, saistību apjoms (commit), nonpaged/paged pool, working set un private bytes pa procesiem, lapu kļūdas (hard faults).

Neiekļāvām: fizisko dzelzi, sistēmas ar citu RAM apjomu, eksperimentus ar pagefile atslēgšanu un trešo pušu “atmiņas optimizācijas” utilītas.

  • Atmiņas inventārs tika uzņemts nostabilizētā dīkstāvē: sistēmas skaitītāji (pieejamā, aizņemtā, commit, pooli) un procesu saraksts ar working set un private bytes.
  • Kontrolēts eksperiments “pārtraukt čaulas procesus”: apturēti divi interfeisa procesi (SearchHost.exe un StartMenuExperienceHost), stāvoklis pārbaudīts pēc 20 un 40 sekundēm; commit fiksēts pirms un pēc.
  • Mērķtiecīgu atslēgšanu pakete piemērota stāvoklim “pēc”, pēc tam veikta pārstartēšana un salīdzinājums ar četrām kontroles ielādēm tā paša stāvokļa bez paketes; ielādes paraugi pārbaudīja veiktspējas regresijas neesamību.
  • Mērīšanas slānis (trasēšana, skaitītāji, vākšanas skripti) pats aizņem atmiņu — līdz simtam un vairāk MB working set atsevišķos mērījumos; tas ir atrunāts ierobežojumos.

Inventāra uzņēmums dīkstāvē (1. sērija):

Pirms Pēc Izmaiņa
Kopējais working set, MB 3 841 1 868 −51 %
Kopējie private bytes, MB 1 524 660 −57 %
Pieejamā atmiņa, MB 5 490 6 518 +1 028

Sērija 2: aizņemtā atmiņa 3 017 → 1 538 MB, pieejamā 5 174 → 6 653 MB, saistību apjoms 2 617 → 1 249 MB. Virziens sakrīt abās sērijās: fona komponenti tur aptuveni pusi no šī profila aizņemtās atmiņas.

Stāvoklī “pēc” atmiņa tika sadalīta šādi (kopējie working set, sērija 1):

  • čaula (File Explorer, DWM, meklēšana izvēlnē “Sākt”, sesijas mezgls) — aptuveni 640 MB;
  • fona pakalpojumi — aptuveni 640 MB (57 pakalpojumi 39 resursdatora procesos);
  • meklēšanas tīmekļa komponents — aptuveni 320 MB;
  • kodola pūli — aptuveni 167 MB, no tiem aptuveni 76 MB aizņem reģistra pūli.

Procesa working set nav vienāds ar atbrīvojamo atmiņu: tas ietver koplietojamās lapas (sistēmas bibliotēku kods, koplietojamie dati), kas tiek uzskaitītas katrā procesā vienlaikus. Sērijas 1 stāvoklī “pēc” 75 procesu working set summa bija 1 868 MB, bet private bytes summa — 660 MB; eksperimenta ar punktveida atslēgšanu kontroles ielādēs kopējais working set bija 2 036 MB. Lielākie saskarnes procesi (sērija 2):

Process Working set, MB Private, MB
SearchHost.exe (meklēšana) 187 80
explorer.exe (File Explorer) 167 36
StartMenuExperienceHost 107 24
dwm.exe (DWM) 73 34

Stāvoklī “pēc” standby saraksts bija 711 MB. Tā nav pazaudētā atmiņa, bet kešatmiņa: standby jau ir iekļauts “pieejamajā”, un Windows acumirklī atkārtoti izmanto šīs lapas, kad atmiņu pieprasa lietojumprogramma.

Eksperiments: čaulas procesu pārtraukšana

Section titled “Eksperiments: čaulas procesu pārtraukšana”

Pēc SearchHost.exe un StartMenuExperienceHost apturēšanas (sērija 2):

  • abi procesi automātiski restartējās aptuveni 20 sekundēs ar jauniem identifikatoriem; pēc 40 sekundēm tie joprojām darbojās;
  • saistību apjoms nesamazinājās, bet pieauga par 12,6 MB (no 1 386,9 līdz 1 399,5 MB) — čaulas procesu restarts pats rada jaunu darbu;
  • īslaicīgais “pieejamās” atmiņas pieaugums par 93 MB nav ietaupījums: mērķa procesi atgriezās, commit palielinājās.

File Explorer pārtraukšana atsevišķā mērījumā (sērija 1) arī nedeva noturīgu brīvās atmiņas pieaugumu: šajā logā brīvā atmiņa pat samazinājās par 97 MB, savukārt standby pieauga par 13 MB — izkrautās lapas paliek sistēmā kā kešatmiņa, un čaula un saistītie procesi turpina darbu.

Eksperimenta secinājums: sistēmas procesu piespiedu pārtraukšana atmiņu neatbrīvo. Windows automātiski restartē čaulas komponentus, un ietaupījuma vietā jūs iegūstat papildu slodzi.

Working set un standby saraksta tīrīšana

Section titled “Working set un standby saraksta tīrīšana”

Mehānika ir dokumentēta Microsoft. Lapu izkraušana no working set (piemēram, ar funkciju EmptyWorkingSet vai SetProcessWorkingSetSize ar “tukšu” izmēru — tieši tos izmanto “RAM optimizētāji”) pārvērš lapas pārejas stāvoklī: tās paliek kešatmiņā RAM, līdz tās atkal vajag vai tās atkārtoti izmanto. Nākamā procesa piekļuve šādai lapai ir mīksta lapas kļūda un atgriešanās working set.

Tāpēc working set tīrīšana maina skaitli “brīvi” skaitītājos, bet nerada fiziski pieejamu atmiņu: lapas nekur nepazūd, un atkārtota piekļuve tām kļūst dārgāka. Standby saraksta tīrīšana ir bezjēdzīga tā paša iemesla dēļ: standby jau ir sistēmai pieejamā atmiņa. Mūsu mērījumos atmiņas pressure nebija nevienā stāvoklī (hard faults palika zemi), tāpēc papildu izkraušana neko neuzlaboja.

Mūsu kritērijs no šī eksperimenta: “atmiņas atbrīvošanas” rezultāts ir jāvērtē pēc commit, lapu kļūdām un aizkavēm atmiņas atkārtotas izmantošanas laikā, nevis pēc īslaicīga rindas “brīvs” pieauguma.

Mērķēta atslēgšana: godīgais pieaugums

Section titled “Mērķēta atslēgšana: godīgais pieaugums”

Virs stāvokļa “pēc” mēs atslēdzām deviņus diagnostikas automātiskos ETW reģistrētājus un četrus fona pakalpojumus (paziņojumi, ēnu kopēšana, atjauninājumu orķestrētājs) un salīdzinājām rezultātu ar četrām kontroles palaišanām:

Metrika Kontroles palaišanas Ar pakotni Atšķirība
Brīvā atmiņa, MB 6 664–6 674 6 696 +22…+30
Nonpaged pool, MB 69,8–71,8 58,7 −11…−13
Kopējais working set, MB 2 036 1 959 −77
Veiktspējas testi bez izmaiņām bez izmaiņām —

Tikai automātiskie reģistrētāji deva −13,2 MB nonpaged pool (mērīts atsevišķi). Svarīgi: atslēgto komponentu working set summa pēc inventarizācijas bija aptuveni 78 MB, bet reālais brīvās atmiņas pieaugums — +22–30 MB. Atšķirība rodas tāpēc, ka daļa “atslēgtā” jau tā nebija palaista. Tā ir godīgā mērķētas atslēgšanas robeža bez sistēmas komponentu noņemšanas; blakusefekts — tā pati pakotne samazināja dīkstāves fona aktivitāti vēl par 24 %.

Atmiņas pārvaldnieka reģistra parametri (poolu izmēri, sistēmas kešatmiņa un līdzīgi) šajā eksperimentā pat netika aplūkoti kā ieguvuma avots: to lasīšana un praktiskā lietderība analizēta «Memory Manager un sistēmas cache» — apstiprināta labuma RAM atbrīvošanai tiem nav.

  • Reproducēts (divas sērijas): fona komponentu atslēgšana atbrīvo 1,0–1,5 GB pieejamās atmiņas; kopējais working set samazinājās par 51 % (1. sērija), aizņemtā atmiņa — par 49 % un saistību apjoms (commit) — par 52 % (2. sērija).
  • Izmērīts: automātiska apturēto čaulas procesu restartēšana 20 sekunžu laikā; commit pie tam nesamazinās (mūsu eksperimentā pieauga par 12,6 MB).
  • Izmērīts: File Explorer pabeigšana nedod noturīgu brīvās atmiņas pieaugumu; izkrautās lapas paliek standby.
  • Dokumentēts: lapu izkraušana no working set pārvērš tās pārejas stāvoklī, kas kešatmiņā glabājas RAM; standby atmiņa tiek ieskaitīta pieejamajā.
  • Izmērīts: mērķēta atslēgšana virs optimizētas sistēmas dod +22–30 MB brīvās atmiņas pie nemainīgas veiktspējas; atslēgtā working set summa nav vienāda ar brīvās atmiņas pieaugumu.
  • Trešo pušu “RAM optimizētāji” tieši netika testēti: pārbaudīta mehānika (working set tīrīšana), uz kuras tie balstās.
  • Pagefile atslēgšana netika mērīta; zināms tikai, ka pagefile ir nepieciešams crash dump un atmiņas saistību robežai.
  • Lielumu pārnešana uz mašīnām ar citu RAM apjomu, citiem būvējumiem un fizisku dzelzi.
  • Ietaupījuma noturība garos logos: mērījumi veikti nostabilizētā dīkstāvē.
  • Virtuālā mašīna ar 8 GB RAM: absolūtie skaitļi ir piesaistīti šai konfigurācijai; profils ar lielāku fona komponentu apjomu atbrīvos vairāk, “klusa” sistēma — mazāk.
  • Working set summa pa procesiem pārspīlē unikālo pēdu dalīto lapu dēļ; mēs blakus minam private bytes tieši tāpēc.
  • Mērīšanas slānis pats aizņēma ievērojamu atmiņu (līdz simtiem MB working set atsevišķos mērījumos) — stāvokļa skaitļi ietver mērīšanas klātbūtni.
  • Atmiņas spiediena eksperimentā nebija (hard faults zemi), tāpēc mēs nepārbaudījām, vai ietaupījums samazina trešingu RAM trūkuma apstākļos.
  • Daļa atbrīvošanas ir saistīta ar Microsoft Defender aizsardzības komponentu atslēgšanu — tas ir kompromiss ar drošību, nevis par velti iegūta atmiņa.

Pētījums un izmantotie rīki pieder BoosterX izstrādātājam, un BoosterX ir Windows optimizētājs, tāpēc optimizācijas efekta mērīšana ir viņa tiešā interese. Metodika un piemērojamības robežas aprakstītas iepriekš, un secinājumus var pārbaudīt pēc atvērtajiem datiem un uzskaitītajiem publiskajiem avotiem. Negatīvie rezultāti par populāriem “atmiņas atbrīvošanas” paņēmieniem publicēti līdzās pozitīvajiem.

Kas reāli atbrīvo atmiņu, pēc šī eksperimenta:

  • aizvērt neizmantotās lietotnes — to private bytes tiek atbrīvoti pilnībā;
  • atslēgt patiešām nevajadzīgus fona komponentus — izmērītais kopējais efekts aprakstīts «Klusā dīkstāve»; tas ir vienīgais no pārbaudītajiem, kas deva gigabaitus, un tā cena — attiecīgo funkciju zudums;
  • novērtēt rezultātu pēc commit un pieejamās atmiņas (Task Manager → “Veiktspēja” → “Atmiņa”), nevis pēc rindas “brīvi”.

Kas nestrādā:

  • sistēmas procesu piespiedu pabeigšana: Windows tos restartē dažu sekunžu laikā, commit pieaug;
  • “RAM optimizētāji” un standby tīrīšana: izkrautās lapas paliek RAM kā kešatmiņa, un to atgriešana darbā izmaksā mīkstās lapas kļūdas;
  • atmiņas pārvaldnieka reģistra parametri.

Standby atmiņa — nav problēma, bet kešatmiņas darbs: “pieejamā” jau to ietver. Pagefile atstājiet sistēmas pārvaldībā: tas ir nepieciešams atmiņas saistību robežai un avāriju dublikātiem.

Eksperimenti tika veikti izolētā virtuālā mašīnā uz testa stāvokļa zariem; pēc mērījumiem testa zari tika atiestatīti, mašīna atgriezta sākotnējā stāvoklī. Raksts neiesaka pabeigt sistēmas procesus vai atslēgt pagefile, tāpēc atsevišķa atjaunošanas darbība lietotāja datorā nav nepieciešama.

  • 2026-09-20: skaitļi saskaņoti ar sēriju tabulām: 1. sērijas “pēc” — 1 868/660 MB, procentu attiecinājums pa metrikām un sērijām precizēts; interešu konflikta atruna pastiprināta līdz pilnajai formulējumam.
  • 2026-09-20: pirmā publikācija — atmiņas inventarizācija divās sērijās, negatīvie eksperimenti ar procesu pārtraukšanu un tīrīšanu, godīgais punktveida atslēgšanas pieaugums.