Bol miktarda kullanılabilir belleğim olduğunda Windows 10 Düşük Bellek Uyarıları


25

Sistemim yeniden başlatılmadan birkaç gün çalışırsa, "Bilgi kaybını önlemek için programları kapat" ve ardından iptal edebileceğim ya da iptal edebileceğim programları kapatmamı öneren bir diyalog içeren uyarılar almaya başlayacağım konusunda bir sorun yaşıyorum. "programları kapat" ve Windows, iletişim kutusunda listelenen uygulamaların bazılarını veya tümünü kapatmaya zorlar.

Görev yöneticisini açıyorum ve hafızamın yalnızca% 30’unun şu anda kullanılmakta olduğunu görüyorum:

% 33 Kullanım

Belirli uygulamalar tarafından ne kadar kararlı bellek kullanıldığını görmek için kaynak izleyiciyi açtığımda, hala nispeten düşük bellek kullanımı görüyorum:

Kaynak İzleyicisi

Bir süredir bu sorunu yaşadım ve bir çözüm bulmakta zorlandım. Poolmon kullanarak sürücü sızıntısı gibi nedenleri araştırdım, ancak poolmon'da, başkalarının sürücü belleği sızıntısı için kırmızı bayraklar olarak tanımladığı şeyle eşleşen hiçbir şey görmedim. Beni özellikle şaşırtan şey, Win10'un neden sadece sistem belleğinin% 33'ünü kullandığımda uygulamaları kapatmamı söylediğidir.


3
Görev yöneticisine gitmeyi ve performans sekmesine gitmeyi deneyin. Ne yapar taahhüt bellek alanı gösterir?
DrZoo

Bunun için bir ekran görüntüsü kaydetmedim, ancak kararlı belleğim 17.5 gb / 19 gb gibi yüksek kullanılabilir bir yüzdeydi.
Brandon

Yanıtlar:


15

Burada vahşi tahminler.

Birisinin rastgele "optimizasyon" önerisini izleyerek takas dosyanızı devre dışı bıraktınız.

Büyük bir ardışık fiziksel RAM bloğu isteyen bir işletim sistemi sürücünüz var. Ancak anlayamıyor çünkü fiziksel RAM'in tamamı zaman içinde parçalanmış durumda. Takas dosyası devre dışı bırakıldığı için RAM birleştirmesi yapamaz.

Takas dosyanızı etkinleştirin.

Dediğim gibi, vahşi tahmin.


Eh, azami 3 gb ayarlanmış bir sayfa dosyası boyutuna sahibim. Bunu swapfile ile mi kastediyorsunuz ya da Windows 10'da ayrı olarak yönetilen bir şey mi? Böyle bir şeyi yapmam imkansız değildi, 10/2015'te bu makineyi ilk kurduğumda çok kötü performans sorunları yaşadım ve çekirdeği park etmeyi devre dışı bırakmak gibi birkaç şey denedim. Sonunda gücümü% 10'a düşüren ve tüm bileşenleri aç bırakan bir güç yönetimi şeması vardı ve bu yüzden sistemik performans sorunları yaşadım, ancak bu bölüm sırasında söylediğiniz gibi bir şey yapmış olabilirim.
Brandon

1
Sayfa dosya boyutunuzu "Sistem Yönetilen" olarak değiştirin, sorunlarınız muhtemelen ortadan kalkacak.
Scott Chamberlain

Bir zamanlar sistemi yönetti ve hala aynı problemi yaşadım, tezahür etmesi daha uzun zaman alacaktı. Sistem yönetimini kurduğumda sayfa dosyası en fazla 64 gb olduğuna inanıyorum ve daha sonra işlenen çok yükseğe çıktığında hala aynı düşük bellek uyarıları alıyordum. Ancak hala% 70 kadar fiziksel bellek görebiliyorum ve Kaynak İzleyicisi'nde 60 + gb'ın üzerinde bir belleğin şu anda listelenen herhangi bir işleme bağlı olduğuna dair bir gösterge yok.
Brandon

Zan ve Scott ile tamamen aynı fikirdeyim, bu soruna neden olan sayfa sayfanızdır ( bunu söyleyen başka bir kaynak için windowsitpro.com/windows-10/… 'e bakınız ). Yönetilen sisteme ayarlayın ve if problem tekrar belirirse THEN araştırmaya başlar.
Ƭᴇcʜιᴇ007

Bu nedenle, sistem tarafından yönetilen sayfa dosyasının buradaki ana cevap olduğunu düşünüyorum. Görünüşe göre statik bir 3GB'a ayarlamak sadece Windows 10 ortamında ideal değil. Birkaç hafta önce bu çözümü uygulamaya koydum ve sadece ne olduğunu görmek için normal kullanımda çalışmasına izin verdim ve hala Kaynak Monitörü taahhüt edilen bellek sütununda hesaba katıldığından çok daha fazla kararlı bellek görmeye devam ederken düşük belleğe girmiyorum şimdi uyarılar veya sorunlar.
Brandon,

14

Son Q'nuzu yeniden yazın - Kısa versiyon: Hata mesajı "taahhüt edilmiş" sanal adres alanı ile ilgilidir. İkinci ekran görüntüsünüzdeki Ücretlendirme grafiğine bakarsanız, limitin gerçekten veya çok yakın olduğunu göreceksiniz.

"Ücretsiz", "kullanılabilir" veya "kullanımda" olan RAM miktarı önemli değildir. Özellikle “kullanılabilir” RAM eksikliği “kesinlikle yetersiz bellek” veya “yetersiz bellek” mesajının nedeni değildir.

Taahhüt sınırı, toplam RAM + sayfa dosyası boyutuna eşittir. Taahhütlü bellek tahsis edildiğinde, henüz kullanılmamış olsa bile derhal “şarj et” olarak ücretlendirilir ... yani hiçbir RAM veya PF alanı hemen kullanılmaz. Fiziksel alan (RAM'de veya sayfa dosyasında olsun) yalnızca belleğe gerçekten başvurulduğunda kullanılır. O andan itibaren program serbest kalana veya tüm işlem bitene kadar olması gereken bir yer olmalıdır.

Örnek: Sayfa dosyası olmadığınızı varsayalım, bu nedenle kabul sınırınız 16 GB'dir (RAM boyutunuz). Şimdi, 8 işlemin her birinin VirtualAlloc (MEM_COMMIT) 1 GB’yi denediğini varsayalım. Sonuç: Ücretlendirme 8 GB arttırıldı. Ancak RAM üzerinde hemen bir etkisi yoktur! Kırtasiye dükkanından bir kağıt dolusu kağıt almış gibisin, ama aslında hiç kağıt alamadın. Ne zaman yeni bir sayfaya ihtiyacınız olursa, sihirli bir görüntü ortaya çıkıyor. Pad'in tamamını kullanana kadar (tahsis edilen bölgenin büyüklüğü).

Şimdi, bu işlemlerin her birinin gerçekte 1 GB’sından yalnızca 100 MB’ye eriştiğini varsayalım. Kullanılan RAM sadece 800 MB olacaktır.

Ancak, her biri 1 GB’ın tamamına başvuruda bulunabildiğinden , işletim sistemi 8 GB RAM + sayfa dosyası alanı ... olduğundan emin olmak için, sadece sayfa dosyası olmaması durumunda yalnızca RAM ... . Kırtasiye dükkanına geri dönecek olursak, herkese daha önce aldıkları kadar kağıt verebilecek kadar kağıt bulundurmaları gerekir.

Buna göre, işletim sistemi, mevcut miktar sınırına ulaştığında VirtualAlloc'un (MEM_COMMIT) başarılı olmasına izin vermemelidir.

Niye ya? Çünkü işlemin başarılı olup olmadığını görmek için VirtualAlloc'un sonucunu kontrol etmesi bekleniyor. Bunu yaptıktan ve tahsisin başarılı olduğunu tespit ettikten sonra, süreç müteakip tüm bölgeye müteakip referanslarının başarılı olmasını bekleyecek her hakka sahiptir.

Windows, taahhüt ücretinin bu alanı gerçekleştirmek için kullanılabilir alan miktarını aşmasına izin verdiyse, bu beklenti her zaman karşılanamazdı.

Hızlı bir geçici çözüm, sayfa dosyanızın varsayılan (= başlangıç) boyutunu artırmaktır. Yukarıdaki açıklamadan , bu dosyaya hiçbir şey yazılmamış olsa bile , bunun neden hata mesajından kaçınacağını görebilmelisiniz . Yine, işletim sistemi ihtiyacı olması durumunda tüm taahhüt masrafları için alanın sağlandığından emin olmaktır . İşlemler kararlı bellek ayırdığında sadece "hey, işletim sistemi, buna ihtiyacım olabilir " diyorlar . Bu, gerçekten kullanacakları anlamına gelmez ve kesinlikle kullandıkları anlamına gelmez.

Daha fazlası için cevabımı burada gör .

Şimdi .... neden bu kadar çok şey kullanıyorsunuz, süreçleriniz buna katkısı görünmüyorsa başka bir soru. Buna bakmak için, lütfen Görev Yöneticisinin Performans sekmesini, Bellek bölümünü gösteriniz.


Böyle mükemmel bir cevabı tanımlayacak kelimelerim yok. Teşekkür ederim.
Vinicius Tavares,

-2

Başka bir olasılık da 64 bit değil, Win10 32-bit kullanıyor olmanızdır. 16GB RAM yüklü olsa da, 4 sivilceli kullanımda pratik kullanım sağlayan 32 bit işletim sistemi sınırlamaları vardır. Ayrıca, işletim sistemi fiziksel RAM ne olursa olsun, ne kadar RAM talep edilebileceği konusunda işlem başına / başına zor sınırlar getirecektir. Bu durumda, 64-bit işletim sistemine geçmekten ya da aynı anda daha az uygulama çalıştırmaktan başka yapamazsınız.


2
Win10 32-bit'i çalıştırmak ve Görev Yöneticisinin OQ'da olduğu gibi toplam 16 GB göstermesi mümkün olmazdı. Ve btw, işlem başına işletim sistemi pozlarının RAM değil, sanal bellekte bulunduğunu sınırlar. Eğer RAM ayırmaya Windows yapabilir sesli arama yok se başına . (Eh, AWE, ancak bu yönetici düzeyinde ayrıcalık gerektirir ve neredeyse hiçbir şey bazı sistem programları dışında bunu kullanmaz.) Sanal adres alanı tahsis eder (VirtualAlloc ile söyler) ve sonra kullanırsınız; Siz kullandıkça, işletim sistemi RAM'i işleminize ayırır ("disk belleği çağrısı"). Fakat elbette bunların hepsinin bir kerede RAM'de gerçekleştirilmesi gerekmiyor.
Jamie Hanrahan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.