Tek tek başlayalım. Swap'ın 6 GB çekmesi. Swap iki şekilde çalışıyor. Birincisi bir dosya, ikincisi bir bölüm olarak. Peki swap ne işe yarıyor? Swap bellek limiti içinde değil, bellek limitleri dışında bellek kullanımı olduğunda yardımcı olur. Yani swap ram'de yer kaplamaz. Ram'de yer kaplayan uygulamalardır. Uygulamalar rami doldurduğu zaman swapa taşar veya kullanılmakta olmayan uygulamalar swapa aktarılır. Swap kısaca out of memory durumunun önüne geçer.
Aynı özellik Windows'da da var. Adı sanal bellek. Oluşturduğu dosya pagefile. Eğer kapatırsan ve 8 GB belleği olan sistemin 8 GB kullanıma gelirse "Yetersiz bellek" uyarısı alırsın ve bazı uygulamaların kapanır yada açmaya çalıştıkların açılmaz.
Yani swap'ın ramin dolu veya boşluğuna doğrudan bir etkisi yok. Aksine ramin dolu veya boş olmasının swapa etkisi var. Swap > Ram değil, Ram > Swap şeklinde kullanıyor sistem belleği.
Absürt şeyler sadece bizim başımıza gelmiyor. Sadece siz başınıza gelen absürt şeyleri fark edecek kadar dikkatli değilsiniz. Gün içinde sık cihaz değiştirince ister istemez fark ediyorsun.
Tüm işletim sistemleri bellek yönetimi algoritmaları kullanıyor. Sorun bellek yönetimi değil, sorun işletim sisteminin kendi arka plan işlemlerinin (sözde deneyimi iyileştirmek üzere yer alan işlemler) aşırı bellek tüketiyor oluşu. Her dakika winupdate'in çalışmasına gerek yok ama her dakika arka plandadır ve belleğe yüklenmiş haldedir. Uygulamaların kendi bellek tüketimlerinden dolayı Windows'u suçlayacak tabii ki değiliz. Ancak 8 GB sistemde boşta 3 GB bellek tüketimi kabul edilebilir bir davranış değil. Yukarıda kendi sistemimden paylaştığım görseli ele alalım. 6-7GB arası tüketim vardı. Bunların hepsini swap file olmadan Windows'ta 8GB bellekli bilgisayarda açmaya davet ediyorum. Uygulamaların tepkisellikleri düşecek, adım gibi de eminim buna.
Hadi Windows bellek kullanımı arttıkça küçülmeye gitse diyeceğim ama bunu yapmıyor. Başka processlere elindeki bellekten paylaşmaktansa onları sonlandırmayı tercih ediyor.