Çok sayıda Windows tabanlı program çalıştırıyorsanız, yeni programlar başlatmayı ya da zaten çalışmakta olan programları kullanmayı denediğinizde yeterli miktarda fiziksel bellek ve disk belleği dosyası bulunsa da "Yetersiz Bellek" hata iletileri görüntülenir.
Neden
Bu davranış, WIN32 alt sistemindeki masaüstü yığını tükenmişse oluşabilir.
Not Bu sorun, masaüstü yığınının varsayılan boyutu 512K olan Windows NT 3.5 tabanlı sistemlerde daha sık oluşur. Windows NT 3.1 altında, varsayılan değer 3072K'dir. Varsayılan değer, performansı artırmak için düşürülmüştür.
Çözüm
Önemli Bu bölüm, yöntem veya görev kayıt defterini nasıl değiştireceğinizin anlatıldığı adımları içermektedir. Ancak kayıt defterini hatalı olarak değiştirirseniz önemli sorunlar oluşabilir. Bu nedenle, bu adımları dikkatlice uyguladığınızdan emin olun. Ek koruma için, kayıt defterini değiştirmeden önce yedeklemeyi unutmayın. Bir sorun oluşursa kayıt defterini daha sonra geri yükleyebilirsiniz. Kayıt defterini yedekleme ve geri yükleme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
322756 Windows XP'de kayıt defterini yedekleme ve geri yükleme
Windows NT için: SharedSection, sistem ve masaüstü yığınlarını şu biçimde belirtir:
SharedSection=xxxx,yyyy
yyyy değerinden sonra ",256" veya ",512" ekleyin.
Windows 2000, Windows XP ve Windows Server 2003 için: SharedSection, sistem ve masaüstü yığınlarını belirtmek için şu biçimi kullanır:
SharedSection=xxxx,yyyy,zzzz
32 bit işletim sistemleri için, yyyy değerini "12288" değerine yükseltin; zzzz değerini "1024" değerine yükseltin. 64 bit işletim sistemleri için, yyyy değerini "20480" değerine yükseltin; zzzz değerini "1024" değerine yükseltin.
Daha fazla bilgi
Windows NT masaüstünde çalışan tüm Windows tabanlı programlar için özel bir bellek yığını kullanır. Masaüstü yığını tüm nesneler (pencereler, menüler, kalemler, simgeler, vb) için kullanılır. Çok sayıda Windows tabanlı program çalışıyorsa bu yığında bellek tükenebilir. Bir ayırma isteğini yerine getirmek için yeterli bellek yoksa, sistem normalde bir hata döndürür ve kullanıcıyı belleğin azaldığı konusunda bilgilendirir. Bazı programlar bu hatayı normal bir şekilde işlemez ve bazı durumlarda hata iletisi iletişim kutusunu oluşturmak için yeterli bellek olmayabilir. Sonuç olarak, istenen işlem herhangi bir gösterge olmadan başarısız olur.
SharedSection anahtarı Kayıt Defteri Düzenleyicisi'nde görüntülendiğinde uzun bir dizedir. Bu anahtarın varsayılan değeri aşağıdaki gibidir.
İlk SharedSection değeri (1024) tüm masaüstleri için sık kullanılan yığın boyutunu tanımlar. Genel tanıtıcı tablosu (Pencere tanıtıcıları makine genelinde benzersizdir) ve paylaşılan sistem ayarları (SystemMetrics gibi) buna dahildir. Bu değeri değiştirmeniz büyük olasılıkla gerekmeyecektir.
İkinci SharedSection değeri (3072), Windows nesneleri için kullanılan bir etkileşimli pencere istasyonuyla ilişkilendirilmiş masaüstü yığınının boyutunu denetler. Bu statik değer, düzgün programlanmamış uygulamaların çok fazla kaynak tüketmesini önlemek için kullanılır. Masaüstü yığını her bir işlemin adres alanıyla eşleştiği için, bu değer rasgele yüksek bir değere ayarlanmamalıdır (çünkü performansı düşürecektir); ancak tüm istenen uygulamaların çalışmasına izin verecek düzeyde artırılmalıdır.
Üçüncü SharedSection değeri (512), "etkileşimli olmayan" pencere istasyonuyla ilişkilendirilmiş her bir masaüstünün yığın boyutunu denetler. Bu değer yoksa, etkileşimli olmayan pencere istasyonları için masaüstü yığınının boyutu, etkileşimli pencere istasyonları için belirtilen boyutla (ikinci SharedSection değeriyle) aynı olacaktır. SharedSection anahtarının parametreleri hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
184802 SORUN: User32.dll veya Kernel32.dll başlatılamıyor