Bir boş RAM programı RAM'i nasıl boşaltır?


14

Programlar tarafından kullanılan RAM'i atar mı veya sabit diskteki bir sayfa dosyasına aktarır mı? Yoksa sadece adressiz RAM'i temizliyor mu?

Yanıtlar:


18

RAM free'ers, diğer programları sayfalarının çoğunu diske değiştirmeye zorlar (genellikle çok fazla bellek ayırarak). Bu programlar bir süre bu sayfalara ihtiyaç duymuyorsa (örneğin, simge durumuna küçültülmüş bir penceredeyse ve hiçbir şey yapmıyorsa), bu daha fazla koç bırakacaktır. Genellikle diske itilenleri kontrol edemeyeceğinizi unutmayın - sadece bir şey.

Sorun, RAM'i serbest bırakmanın kendi başına hiç kullanışlı olmamasıdır. Başka bir çalışan programın RAM'e ihtiyacı varsa, o zaman ram free'er'ı çalıştırmak yerine disk belleği o anda gerçekleşirdi. Ve bir şey yapmak için diske itilen bu programı istediğiniz anda (örneğin, facebook'ta durumunuzu kontrol etmek için her 5 dakikada bir uyanırsa), bunu yapmak için tekrar takas edecektir.

Gerçekten bir koç sorununuz varsa, birkaç seçeneğiniz vardır:

1) Daha fazla RAM alın. Basit, doğrudan, muhtemelen pahalı veya (işletim sistemi ve donanım yapılandırmasına bağlı olarak) imkansız.

2) Daha az program çalıştırın. Ne kadar az şey çalışırsa, çalışanlar için o kadar çok RAM kullanılabilir. Bu aynı zamanda daha az kaynak kullanan araçların seçilmesini de içerir. Örneğin, bir IM yardımcı programını her zaman açık bırakırsanız, tüm gösterişli özelliklerin yerine küçük bir bellek alanına sahip olanı seçin.

3) Daha hızlı diskler alın. Bu aslında size daha fazla koç vermez (açıkçası), ancak disk belleği dosyalarınız için daha hızlı diskler kullanırsanız, sayfaları bellek içinde ve dışında değiştirmek için gereken süreler daha düşük ve dolayısıyla daha az fark edilir olacaktır.

Başka gerçek seçenek yok.


"RAM'i boş bırakmak kendi başına hiç kullanışlı değil." Ancak, kullanıcıların genellikle eriştiği önceden getirilmiş bilgiler olduğu için Windows Vista / 7'nin nasıl minimum boş RAM bıraktığına dair sızlanmalarını önler.
Nick T

@Nick7 ya da Vista, Windows önceden getirme nedeniyle, yüklü RAM bol olan bir makinede boş RAM olmayan mızmızlanan bir kullanıcı eğitim sorunudur. Önceden getiricinin kullandığı belleği ayırmak ve sonra boşaltmak argümanı ile karşılanması gereken bir şey, sistemi önceden yavaşlatır, çünkü önceden getirilmiş tüm veriler iyi bir sebep olmadan temizlenir ve bu nedenle yeni bir uygulama çalıştırdığınızda önbelleğe alınmaz. aynı zamanda prefetcher'ın yeni boşaltılmış RAM'i doldurarak zaman ve kaynak harcadığı anlamına da gelir. Bir program yine de gerekiyorsa RAM serbest kalır ...
Mokubai

Windows da RAM'i dosya önbelleği olarak kullanır, çünkü bu ETKİN disk erişim hızını artırır. Bununla ilgili her türlü kötü bilgilendirilmiş sızlanmayı da göreceksiniz. Birçok Windows sisteminde, RAM'in bu kadar az kullanılabilir olmasının nedeni genellikle büyük miktarların "ram-disk" önbellek olarak kullanılmasıdır. Bunun için kullanılan miktar dinamiktir, çünkü programlar daha fazla belleğe ihtiyaç duyduklarından, dosya önbelleği için kullanılan miktar azalır. İşletim sistemini yazan insanlar, bazılarının düşünmemizi istediği kadar cahil değildi.
30_10

11

Temel olarak, RAM serbest bırakıcıların yaptığı, Windows'u diğer programları diske takmaya ve daha sonra ayırdıkları RAM'i boşaltmaya zorlayan büyük miktarda RAM ayırmalarıdır. Bunu yapmak için farklı stratejiler olabilir, ama ben içsel olanlardan değilim.

Eğer mümkün orada gibi ben fazla fiziksel RAM almak öneririm olacak outswapped programı hafıza arka payını almak gerektiğinde zaman gelir ...


Windows, tüm uygulamalardan kullanılmayan önbelleklerini serbest bırakmasını isteyen bir 'Low_MEMORY' iletisi gönderir. SQL sunucusu ve dosya önbellekleri temizlenir, böylece ekstra boş alan elde edersiniz.
Barfieldmv

8

İşletim sistemini kandırmaya çalışarak, belki bir şeylerin yapıldığı izlenimini verir. Böyle bir yaklaşım, Peter'ı Paul'e ödemek için soymanın bir örneğidir.

Ya da ... eğer uzun vadede hiçbir şey için bir şey alırsanız, hiçbir şey elde edemezsiniz.

Başka bir deyişle, bu tür şeyleri bir aleyhte görüyorum. RAM eksikliğiniz varsa, en iyi uzun vadeli teknik çözüm daha fazla satın almaktır.


2

Windows, tüm uygulamalardan kullanılmayan verilerini serbest bırakmasını isteyen bir 'LOW_MEMORY' iletisi gönderir. SQL sunucusu ve dosya önbellekleri temizlenir, böylece fazladan boş alan elde edersiniz. Bu ayrıca başlangıçta kolayca 1 gig alan Windows dosya önbelleğini temizler.

Büyük bir bellek yığını ayırmak DÜŞÜK BELLEK mesajını tetiklemenin kolay bir yoludur, ancak daha akıllı sistemler olabilir.


2

Diğer cevapların yanı sıra, RAMDoubler gibi eski araçlar bellekteki RAM'i sıkıştırmak için kullanılır ve erişimde açıkça CPU maliyeti vardır. Sanırım artık erişim maliyeti yüzünden kimse bunu yapmıyor.

EDIT: hiç kimse .. Apple dışında iyi Eski her şey yeni. Daha spesifik olarak, CPU hızı ve bellek teknolojilerinin (özellikle disk) hızı arasındaki yayılma, şimdi diske vurmak için elektrik (okuma: pil) maliyeti ile daha iyi bir seçenek olduğundan çok daha büyüktür.


1
Bellek sıkıştırması, SoftRAM sahtekarlığından aldığı kötü itibarı asla aşmadı. RAMDoubler ve MagnaRam yasal ürünlerdi. Teknoloji hala var. IBM hem donanım MTX'i hem de yazılım AME tabanlı bellek sıkıştırmasını geliştirdi ve VMWare , ürün serilerinin çoğunda bellek sıkıştırması kullanıyor.
Kenneth Cochran

1
Bu mantıklı bir tasarım ve bir noktada çekirdeğe gidiyor olabilir: lwn.net/Articles/397574
Tobu

1

Genellikle sistemi daha fazla disk belleği dosyası ve daha az RAM kullanmaya zorlarlar. RAM sabit diskten daha hızlı olduğu için en kötü durumda hızda bir azalma göreceksiniz. En iyi durumda, daha fazla RAM göreceksiniz, ancak ekstra hız görmeyeceksiniz.

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.