Bazı veritabanı tablolarımı depolamak için RAM kullanıyorum ve diğerleri sabit diskte saklanır.
Bugün süreçlerimin takas belleği kullandığını öğrendim. Şimdi takas belleği nedir ve hangi işlemin takas belleği kullandığını nasıl tespit edebilirim ve bunları kullanmayı nasıl durdurabilirim?
Fiziksel belleğiniz biterse, verileri diskteki belleğe depolayan sanal belleği kullanırsınız. Diskten okumak, bellekten okumaktan daha yavaş birkaç büyüklük sırasıdır, bu nedenle her şey yavaşlar. (Gerçek bellek ile sanal bellek arasında veri alışverişi "değişiyor". Diskteki boşluk "değiş tokuş alanı" dır.)
Uygulamanız "takas kullanıyorsa", daha az bellek kullanmanız veya daha fazla RAM satın almanız gerekir.
(Takas kullanılmaz çünkü kullanılmayan uygulamalar kullanılana kadar diskte saklanabilir. Sonra "sayfalandırılabilir" ve tekrar normal şekilde çalışabilirler. Ancak bellekte olmasa da işletim sistemi bu belleği kullanabilir önbellek gibi başka bir şey için. Bu çok kullanışlı bir özellik, ancak programınızı çalıştırmak için yeterli fiziksel belleğiniz yoksa, kesinlikle daha fazla belleğe ihtiyacınız var. Neyse ki, bu günlerde bellek gerçekten çok ucuz.)
Bir bilgisayarın belirli bir fiziksel belleği vardır. Ama çoğu zaman daha fazlasını istiyoruz. Bu yüzden diskte biraz bellek değiştiriyoruz.
Bu belleğe her ihtiyaç duyduğumuzda, belleğe geri alınması gerekir (başka bir parçayı değiştirerek). Gecikmeyi en aza indirmek için son derece akıllı algoritmalar vardır, ancak yine de bazen beklemek zorundayız.
Windows'da, görev yöneticisine bakarsanız, sütun sayfası hatalarını gösterebilirsiniz. Bu, bir uygulamanın diskte bulunan ve değiştirilmesi gereken bir bellek parçası istediği süreyi gösterir. Birçok sayfa hatası = yavaş uygulama.
Bu işlem çeşitli düzeylerde kullanılır. Hızlıdan yavaşlatmaya özet:
cat /proc/pid/smaps
Takas kullanmak istemiyorsanız, takas bölümü kullanmayın (/etc/fstab
). Bu genel olarak iyi bir fikir değil ... çok güvenli değil ve hatta çok da kullanışlı değil, çünkü işletim sistemi sıcak sayfaları bellekte tutacak ve son zamanlarda kullanılmayanları diske değiştirecek.
Başka bir çözüm veritabanını kesmek olabilir, böylece sayfaları belleğe kilitler (bunun yapılabileceğini biliyorum, ama şimdi tam olarak nasıl olduğunu söyleyemedim), ama yine de, veritabanınızın kendi takas ve önbellekleme mekanizmaları.
Takasın ne olduğunu ve sanal belleğin nasıl çalıştığını bilmek için ... Bazı İşletim Sistemi derslerine göz atmanızı tavsiye ederim, belki MIT Açık Eğitim Yazılımı yardımcı olabilir.
Kısmen bir cevap buldum. Takas Belleği, İşletim Sisteminin RAM) üzerinde bulunan bilgileri başka bir uygulama için boşaltmak için kullanacağı Bilgisayarınızın Sabit Diskinde bir alandır. Sistem yeni bir işlem için belleğe ihtiyaç duyar ve hiçbiri yoktur, bu nedenle sistemimizde bol miktarda RAM) bir SWAP belleğe ihtiyaç duymayacağını görebiliriz.
[~ # ~] Güncelleme [~ # ~]
Yer değiştir (veya sanal bellek) yerini bulmak için Görev Yöneticisi'ne (CTRL + ALT + DEL) gidip GÖRÜNÜM -> SÜTUNLAR -> SANAL HAFIZA'dan açabilirsiniz. Şimdi sadece bellek kullanımı ve sanal bellek arasındaki farkı hesaplayın. Ayrıca Vista'yı çalıştırıyorsanız nasıl göreceğinizle ilgili bir talimat: http://www.ehow.com/how_5067693_increase-swap-space.html