Bilgisayarınız hazırda bekletme modundayken takastaki verilere ne olur?


12

Bir bilgisayar hazırda bekletme moduna geçtiğinde, RAM'in içeriğini takas alanına kaydeder, böylece yeniden açıldığında tam olarak kaldığı yerden devam edebilir.

Peki, şu anda RAM'inizden daha fazla bellek kullanıyorsanız. Bu durumda, aksi takdirde RAM'de olacak bazı veriler takas için kaydedilir.

Bir örnek. Bir bilgisayarda 1 GB RAM ve 1 GB takas alanı bulunur. Şu anda 100MB RAM ve 500MB takas hariç tümü kullanıyor. Bu nedenle, durumunu kurtarmak için yaklaşık 1.4GB bellek hatırlamak gerekiyor. Ancak, takas sadece 1GB.

Bu durumda ne olacak?

~~ düzenlemek ~~

Aşağıda yanıtlandığı gibi, hazırda bekletme modu başarısız olur. O zaman bir takip sorusu:

Bu başarısız olduğunda, hata nerede bildirilir?

Yanıtlar:


11

Bu, hazırda bekletme modunun uygulanmasına bağlıdır. Soruyu Linux ile kısıtlasanız bile uygulama zamanla gelişti.

İlk olarak, RAM'in bir kısmının disk önbellekleri için kullanıldığını düşünün. Sistem yeniden başladıktan sonra diskten yeniden yüklenebileceğinden, bunun swap'a taşınmasına gerek yoktur. İyi bir maliyet / verimlilik dengesine sahip bir sistemde, RAM'in yaklaşık yarısı önbelleklere tahsis edilir. (Ayrıca bkz. Neden RAM'den fazlasının yeterli olduğu durumlarda takas kullanma .) Linux'ta bazı erken uygulamalar, ayrılan tüm belleği takasta depolar, ancak mevcut hazırda bekletme modu uygulamaları disk önbelleklerini atlar.

İkincisi, bazı sistemler belleği takas üzerine yazarken sıkıştırır, bu da gerekli takas miktarının tahmin edilmesini zorlaştırabilir. Linux'un hazırda bekleme kipinin bazı sürümleri sıkıştırmayı destekledi; Mevcut olanların yapıp yapmadığını bilmiyorum.

Genellikle yeterli takas alanı yoksa bekleyebileceğiniz şey hazırda bekletme modunun başarısız olacağıdır: sistem RAM'in (yararlı) içeriğini takasta depolamaya çalışacak ve yeterli alan olmadığını algıladığında, hazırda bekletme modu durdurulur (genellikle konsolda ve sistem günlüklerinde bir hata iletisi görüntülenir). Bildiğim kadarıyla Linux her zaman böyle davrandı (gerçekten başka bir mantıklı davranış olmadığı için).


1
Bunu bir sanal kutu makinesinde denedim ve kullanıcıya herhangi bir mesaj göstermese de başarısız oldu (ubuntu 10.4 ile denedim). Bu hata hangi sistem günlüğüne rapor eder?
David Oneill

3
@David: İçinde kesinlikle bir şey olmalı /var/log/kern.log. Konsolda bir mesajın yokluğunun bu belirli çekirdek sürümünün veya kasıtlı bir Ubuntu yapılandırmasının bir tuhaflığı olup olmadığını bilmiyorum (başka bir konsol çıkışını kasıtlı olarak bastırdıklarını biliyorum).
Gilles 'SO- kötü olmayı kes
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.