Bir işlemi “tamamen hazırda bekletme” belleği nasıl boşaltılır?


10

Buna benzer: Linux / Windows altında nasıl bir işlem hazırda bekletilir?

Bir işlemi bellekte kalmayacak şekilde hazırda bekletmek için herhangi bir yöntem var mı? Örneğin: Firefox'u kullanmak istemiyorsam ve sürecini kapatmak istemiyorsam ve boş belleğe ihtiyacım varsa, Firefox tarafından ayrılan belleğin serbest bırakılması için işlemi nasıl hazırda bekletebilirim?

Hem Windows hem de Linux için çözüme ihtiyacım var!

Yanıtlar:


4

Firefox'u kullanmak istemiyorsam ve sürecini kapatmak istemiyorsam ve boş belleğe ihtiyacım varsa, Firefox tarafından ayrılan belleğin boşaltılması için süreci gerçekten nasıl hazırda bekletebilirim?

Windows için Free Process Freezer var .

Linux ve Mac OS X için, yeedl'in cevabında belirtildiği gibi CrypoPID var .


Özel bir çözüm bulmak istiyorsanız:

İçine bak process dumpingmesela Windows üzerinde. ProcDump , bir CLI ayıklayıcı ile tekrar devam WinDBG .

İçine bak core dumpingmesela Linux üzerinde. çekirdek , GNU GDB gibi bir CLI hata ayıklayıcı ile devam edin .

Bahse girerim bir hata ayıklayıcı içermeyen yazılım tabanlı bir çözüm mümkündür, ancak bu Stack Overflow için .


Çok özel bir kullanım örneği arıyorsunuz, neden sadece askıya almayı ve değiştirmesine izin vermiyorsunuz?

İşlemlerinizi çalıştırmak ve askıya almak için daha fazla zaman harcıyorsunuz ...

İş akışınızı daha sorunsuz bir şekilde optimize edebileceğinizi düşünüyorum.


5

Hem Windows hem de Linux / Unix, çalıştırılabilir işlemler listesinden kaldırarak bir işlemin yürütülmesini askıya almak veya durdurmak için bir yol sağlar.

Bu, bir işlemin sahip olduğu bellek sayfalarını doğrudan etkilemez, ancak sistem bellek için baskı altına girdiğinden, zamanla bu sayfalar diske takas etmek için iyi adaylar olacaktır.

Daha sonra devam etmek için diske bir işlem yazmaya çalışmak önemsiz olmayan bir şey için işe yaramaz. Ağa açılan tanıtıcılar ve pencere sistemi, işlem yeniden başlar başlamaz başarısız olur.


Önemsiz bir şey için de işe yaramaz. :) +1
user541686

1
Bu açık kulplar tekrar açıldı ya da birlikte saklandı, bu gerçekten bir sorun değil ...
Tamara Wijsman

2

Firefox'ta bir oturumu kaydedebileceğinizi biliyorum .

Linux'ta bu CrypoPID ile yapılabilir .

Bu soru ve bu Windows için cevap vermeye çalışıyorum, ancak bir uygulama durumunu linux için yaptığım gibi bir dosyaya kaydetmenin harika bir çözümünü bulamadım.


1

Pencereler için:

Bir işlemi öldürmeden bellekten tamamen çıkarmanın hiçbir yolunu bilmiyorum, ancak ana penceresini en aza indirerek çalışma kümesini kırpabilirsiniz. Microsoft'un aşağıdakileri açıklayan bir makalesi vardır: Bir uygulamanın çalışma kümesi, üst düzey penceresi simge durumuna küçültüldüğünde kesilir .

Bu nedenle, önce ana pencereyi / pencereleri simge durumuna küçültün, ardından işlemi bağladığınız soruda önerildiği gibi askıya alın .

Her ikisini de her zaman kullanışlı Process Explorer ile gerçekleştirebilirsiniz .

  • Sağ tıklama işlemi, Pencere -> Simge durumuna küçült
  • Tekrar sağ tıklayın, Askıya Al.

1

Windows'da, bazı programlar "kullanılmayan" program belleğini değiştirebilir.
Bunu yapabilen bir ürün örneği ticari İşlem Kementidir .
Ancak Process Lasso bile bu uygulamaya karşı danışmanlık yapıyor.

Gönderen Windows Bellek Optimize hakkında Truth :

Sanal bellek yönetimini Windows'a bırakmak ve kendi ellerinize almamak en iyisidir. Bu programlardan faydalanılması bir yanılsamadır ve geçicidir. Temizleme işleminden sonra çalıştırdığınız program daha hızlı yüklendiğinde görünse bile, belleği ertelemenin cezasını er ya da geç geçirirsiniz.

Şimdi Firefox ile ilgili olarak, mozillaZine'in Bellek kullanımını azaltma - Firefox'a bakın ve hangi uzantıların bellek sızıntısı olduğunu nasıl keşfedeceğiniz konusunda birçok tavsiye içerir.

Firefox eklentisi Memory Fox da var:

Tarayıcının RAM Belleği kullanımını azaltmaya çalışmak, diğer uygulamalarda kullanılabilir RAM belleklerinin artışını teşvik etmek RAM bellek gereksinimlerini işler. Umarım, Hafıza Kurtarma ve Saklama girişimlerini teşvik eder.

Benim tecrübelerime göre, bu uzantı sadece Firefox'un kaçınılmaz bellek şişkinliğini erteliyor. Tek gerçek çözüm, hafızayı kurtarmak için Firefox'u zaman zaman kapatmaktır.


1

Linux'taki işlemlere STOP sinyali gönderebilirsiniz. Durdurulmuş bir işlem duraklatılmış gibidir . Devam etmek için CONT sürecini gönderin. Sinyali göndermek için bunu yapabilirsiniz:

kill -STOP process_id

kill -CONT process_id

Sistem daha fazla bellek gerektiriyorsa durdurulmuş bir işlem değiştirilir.

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.