Selamlar,

Bellek sıkıştırma ile ilgili sorun gözüküyor, aşağıdaki kodu yazıp bellek sıkıştırmayı kapatalım olumlu olumsuz dönüş yapın.

Windows Logo Sağ Click > PowerShell ( ADMIN ) > Disable-MMAgent -mc

Kod:
FAULTY_HARDWARE_CORRUPTED_PAGE (12b)

Kod:
PROCESS_NAME:  MemCompression

Kod:
SYMBOL_NAME:  nt!ST_STORE<SM_TRAITS>::StDmPageError+135

MODULE_NAME: nt

IMAGE_NAME:  ntkrnlmp.exe

IMAGE_VERSION:  10.0.26100.2894

STACK_COMMAND:  .process /r /p 0xffffad8f79553040; .thread 0xffffad8fa00a9040 ; kb

BUCKET_ID_FUNC_OFFSET:  135

FAILURE_BUCKET_ID:  0x12B_c00002c4_StCtDecompressFailed_nt!ST_STORE_SM_TRAITS_::StDmPageError

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

FAILURE_ID_HASH:  {c6a6bb4d-3b77-dff6-2d9b-75f5d0f61a50}

Followup:     MachineOwner
 
Son düzenleyen: Moderatör:
Daha önce bu hata koduna ilişkin bir şeyler görüp araştırmıştım ama görünen o ki insiderhub ve birkaç 3.taraf kullanıcı dışında Store Manager ve MM ile ilgili nerdeyse bir bilgi elde edinmek imkansız. Windows ciddi şekilde içine kapalı olan bir kaynak olmasından dolayı bunlar açık yollu olarak sunmayı hiç tercih etmiyor.

Öncelikle şunu belirtelim ki, sorun bellek sıkıştırmadan dolayı ortaya çıkmıyor, sorun bellek sıkıştırma esnasında ortaya çıkıyor. PROCESS_NAME: MemCompression belirteci, sürecin o an bellek sıkıştırma kısmında olduğunu söylüyor. Belki de Windows halka açık bir kaynak olmadığından belki de çok ilahi gibi bir şey gibi göründüğündendir bu sürecin kendiliğinden ortaya çıktığı düşünülüyordur ama hayır. MemCompression aslında bir .exe file'ı. Yani süreç o anda bu exe'i çalıştırıyor ve normal olarak çöktüğü andaki çalışan işlem de MemCompression oluyor. Bir nevi durum belirteci gibi. Ve kapatılması da gerekmez, Windows zamanında 8.1'e geçerken bir sürü programın bundan dolayı çökeceğini tahmin etmemiştir ya da göze almıştır ki MemCompression ile türlü türlü sorunlar yaşadı, tabii genel olarak dünyamız 8.1'e hiçbir zaman önyargısız yaklaşamadı ve 7 ile yaşamını sürdürmeye devam etti, asıl mesele 10 geçişinde ve dünyanın 10'a geçişiyle birlikte gün yüzüne çıkmış olsa gerek ki daha önce bunu belli bir Windows sürümünde kapattığını hatırlıyorum. Demek ki isteyerek kapatabiliyorlarsa ve default olarak açık geliyorsa kapalı olmasının bir mantığı da yok. Neden getiriliyor ki madem herkes 7 ile iyiyse, bunu da insiderhub üzerinden öğrenebiliyoruz,,

Windows 8.1 ya da 10 gibi sürümlerde, işletim sisteminin bellek yönetimini daha verimli hale getirmesi, sistemi hızlandırması artık bir zorunluluk haline gelmişti. Bundan dolayı Bellek sıkıştırma denen güzel mantığa sahip Bu özellik, sık kullanılmayan bellek sayfalarını sıkıştırarak disk üzerindeki okuma ve yazma işlemlerini (örneğin, pagefile'a yazma) azaltarak Windows 10 ile tanıtılmıştı. Böylece hem sistemin genel tepki hızı artıyor hem de daha fazla uygulama fiziksel bellekte aynı anda tutulabiliyordu. Bellek sıkıştırma devreye girdiğinde, MM, bellekteki kullanılmayan sayfaları sıkıştırıyor ve sıkıştırılmış sayfaları bir "compression store" içerisinde saklıyorr. Bu depo da disk yerine RAM içerisinde tutulduğu için, disk I/O işlemleri önemli ölçüde azalyor ve haliyle ygulamaların daha hızlı açılmasına ve sistemin daha tutarlı bir şekilde çalışması gibi bir güzellik oluyor. (Disk, her zaman RAM'den daha yavaş bir I/O'dur.)

MC de, bellekte yer açmak için PageFile denen işlevden önce devreye giriyor. Örneğin, bellek üzerindeki sıkıştırılmış bir sayfa yalnızca yaklaşık %40'lık bir boyut kapladığından sıkıştırma sayesinde daha fazla veri bellek içerisinde depolanabiliyor tabii ki ama sıkıştırma yetersiz kalırsa Bellek Yöneticisi, PageFile'ı kullanmaya devam ediyor.

Sıkıştırılmış olanlar, "sistem işlemi"nin içinde depolandığından, sistem işleminin bellek kullanımı artmış gibi görünüyor olabilir ama aslında durum kullanılmayan veya uzun zamandır arkada duran bir işlevin sıkıştırılarak system içerisinde daha az yer kaplayacak bir şekilde çevirilmesi oluyor. Yani arkada 4MB çalışan bir Chrome penceresi olsun ve sen o sekme yerine başka bir sekmede film izliyor ol. O sekmenin kendi içinde de bir SectionMap alanı oluyor ve MM de tam olarak bu kısmı 4MB yerine sıkıştırp 1MB olarak belleğe atıyor. Böylece tekrar oraya gelmek istediğinde hemen RAM üzerinden çıkarıp veriyor. Böylece Disk gibi daha yavaş bir depolamadan geç tepki süresi almayı beklemiş olmuyor ve RAM'de de gereksiz bir alan kaplamış olmuyorsun...

Umarım anlatabilmişimdir.


Örnek olarak Technopattaki bu konuyu gösterebilirim. Konu içerisinde de bir arkadaş buna değinmiş. System işlevi aslında RAM kullanmıyor, Sıkıştırılmış RAM'i depoluyor...

Windows 11'den,,
Rich (BB code):
PS C:\WINDOWS\system32> get-MMAgent

ApplicationLaunchPrefetching : True
ApplicationPreLaunch         : True
MaxOperationAPIFiles         : 512
MemoryCompression            : True
OperationAPI                 : True
PageCombining                : True
PSComputerName               :
Aktif olarak çalışıyor.

Bununla ilgili daha fazla bilgiye erişmek için InsıderHub ve bunun hakkında araştıran kişilerin GitHub profillerini incelemeni tavsiye edebilirim,
  1. Finding Evil in Windows 10 Compressed Memory, Part One: Volatility and Rekall Tools | Google Cloud Blog
Konu içeriklerinden ulaşabilirsin.

Rich (BB code):
FAULTY_HARDWARE_CORRUPTED_PAGE (12b)
This BugCheck indicates that a single bit error was found in this page.  This is a hardware memory error.
Arguments:
Arg1: ffffffffc00002c4, virtual address mapping the corrupted page
Arg2: 0000000000000bdc, physical page number
Arg3: 000001cd8f280000, zero
Arg4: ffff84810570c000, zero

Dosyana gelecek olursak, Bu dosya tipik olarak çok fazla incelenebilecek bir dosya değil. Hata açıklaması yıllardır güncellenmiyor ve her parametre ilgili hata için doğru bilgi sunmuyor.

Sadece görebiliyoruz ki İlk parametre Store Manager'dan döndürülen NTStatus çıkış kodunu ifade ediyor. Çağrı yığınını kontrol edersen de çökmenin StoreManager tarafından oluşturulduğunu görebilirsin. Şunu da bilmelisin ki Bellek Sıkıştırma Store Manager çatısı altında çalışan bir işlevdir. PageFile ile Fiziksel bellek arasındaki katmanda bulunur ve bu Store tarafından yönetilir.

Rich (BB code):
7: kd> !error ffffffffc00002c4
Error code: (NTSTATUS) 0xc00002c4 (3221226180) - %1 sistem dosyası, bozulduğu için değiştirildi.

Şimdi en başa tekrar dönecek olursak PROCESS_NAME: MemCompression daha fazla anlam kazanıyor. Zira o an çalışan işlevin bu olduğunu ve hatanın da ne olduğunu görebiliyoruz. Neden olur?

Rich (BB code):
7: kd> k
 # Child-SP          RetAddr               Call Site
00 fffffa05`45b3eee8 fffff803`b07ce949     nt!KeBugCheckEx
01 fffffa05`45b3eef0 fffff803`b08a4421     nt!ST_STORE<SM_TRAITS>::StDmPageError+0x135
02 fffffa05`45b3ef40 fffff803`b0498799     nt!ST_STORE<SM_TRAITS>::StDmFinishPageRetrieve+0x40b741 // Çökme
03 fffffa05`45b3efa0 fffff803`b049847a     nt!ST_STORE<SM_TRAITS>::StDmpSinglePageRetrieve+0x109
04 fffffa05`45b3f010 fffff803`b0496885     nt!ST_STORE<SM_TRAITS>::StDmPageRetrieve+0x13a // Sayfa geri çağırılıyor
05 fffffa05`45b3f0d0 fffff803`b04963ed     nt!SMKM_STORE<SM_TRAITS>::SmStDirectReadIssue+0xed // Store sıkıştırılan sayfaya direkt erişim sağlayamıyor
06 fffffa05`45b3f170 fffff803`b049633d     nt!KeExpandKernelStackAndCalloutInternal+0x9d
07 fffffa05`45b3f1e0 fffff803`b049609f     nt!KeExpandKernelStackAndCalloutEx+0x1d
08 fffffa05`45b3f220 fffff803`b053c1b1     nt!SMKM_STORE<SM_TRAITS>::SmStDirectRead+0xcf
09 fffffa05`45b3f2f0 fffff803`b053bf69     nt!SMKM_STORE<SM_TRAITS>::SmStWorkItemQueue+0x1b9
0a fffffa05`45b3f340 fffff803`b053c54f     nt!SmWorkItemQueue+0x9
0b fffffa05`45b3f370 fffff803`b05704a2     nt!SMKM_STORE_MGR<SM_TRAITS>::SmAsyncReadQueueWorker+0x8f
0c fffffa05`45b3f3c0 fffff803`b065585a     nt!ExpWorkerThread+0x1b2
0d fffffa05`45b3f570 fffff803`b087ae54     nt!PspSystemThreadStartup+0x5a
0e fffffa05`45b3f5c0 00000000`00000000     nt!KiStartSystemThread+0x34

Yani o an bellek sıkıştırılma ile sıkıştırılan bir sayfa açılırken bu mavi ekran ortaya çıkıyor. Neden? Sıkıştırma mı sorunlu? PageFile aşaması mı? Bilemeyiz. Tek şunu söyleyebiliriz ki bu yapılardan birinde ortaya çıkan bir sorun, direkt olarak bu problemi tetikleyebilir. Zira halihazırda zaten başka uygulama tarafından kullanılan bir sıkıştırılmış sayfaya erişim bile HardFault iken bozuk bir sayfaya erişmek direkt çökmeye sebep olabilecek bir durumdur. Bunun ne denli bir bozulma olduğu da belirsiz.

Yani RAM ya da Diskini kontrol etmelisin. (Varsa disklerini). Bir süre aktif olamayacağım. Sadece hata hakkında biraz bir şeyler yazmak istedim, kolay gelsin.
 
Nasıl anlatsam bilemiyorum fakat uzun uzun açıklamalarından dolayı kendimi değerli hissettim. Çok teşekkür ederim gerekli kontrolleri sağlayacağım.

Merhaba Ahtapot hocam,

Gerekli işlemleri gerçekleştirdim yaşanan gelişmelerden haberdar edeceğim.