Sayfa ayırma hatası - Bellek yetersiz mi?


24

Son zamanlarda, kern.logsunucularımdan birinde bunun gibi girişler olduğunu fark ettim :

Feb 16 00:24:05 aramis kernel: swapper: page allocation failure. order:0, mode:0x20

Bilmek isterdim:

  1. Bu mesaj tam olarak ne anlama geliyor?
  2. Sunucumun belleği yetersiz mi?

Takas kullanımı oldukça düşüktür (% 10'dan az) ve şimdiye kadar hafıza yetersizliği nedeniyle öldürülen hiçbir işlem görmedim.

Ek bilgi:

  • Sunucu, Debian 6.0 çalıştıran bir Xen örneğidir (DomU).
  • 512 MB RAM ve 512 MB takas bölmesine sahiptir
  • Sanal makine içindeki CPU yükü ortalama 0.25

Yanıtlar:


14

Debian 666021 böceği bu aynı konunun bir raporu gibi görünüyor. Öneri var:

#change value for this boot
sysctl -w vm.min_free_kbytes=65536

#change value for subsequent boots
echo "vm.min_free_kbytes=65536" >> /etc/sysctl.conf

http://russ.garrett.co.uk/2009/01/01/linux-kernel-tuning/ , bu ayarın ne zaman değiştirilmesinin yararlı olabileceğine dair bazı tartışmalar içeriyor:

Bu, çekirdeğe her zaman 64 MB RAM'i serbest bırakmaya çalışmasını söyler. İki ana durumda faydalıdır:

  • Gelen ağ trafiğinin çekirdeği boğmasını ve herhangi bir arabellek çalmaya vakti gelmeden bir OOM'u zorlamasını istemediğiniz takas gerektirmeyen makineler.

  • x86 makineleri, aynı sebepten dolayı: x86 mimarisi sadece yaklaşık 900 MB RAM'in altında DMA transferlerine izin veriyor. Böylece, tonlarca RAM ücretsiz olan bir OOM hatasının tuhaf durumu ile sonuçlanabilir.

Bu ayarı 3.2.12-gentoo x86 makinemde uyguladım, ancak hala bu hataları alıyorum.


Bu aynı şey bazı cihazlarda ortaya çıkabilir, örneğin MPT Fusion SCSI denetleyicisiyle vm.min_free_kbytes'in 100 megabayt civarında tutulması önerilir. Ya da en azından 32 bit Linux dağıtımlarıyla bu şeyleri kullanmak zorunda kaldığımda kullanıldı. İşler o zamandan beri değişmiş olabilir.
Janne Pikkarainen

ÖNEMLİ UYARI . echo 104857600 > /proc/sys/vm/min_free_kbytes SİSTEMİMİ KERNEL PANİKE ÜRETİLDİ . Sürecinde okuma umudunun olmadığı süreçte bir miktar metin ekranı havaya uçurdu, ancak son mesajlar Wi-Fi dongle'mla ilgiliydi, bu yüzden bu kırılma sistemime özgü olabilir. Olduğu söyleniyor, dikkatle dürtmek.
i336_

OH, kilobayt cinsinden . 104857600 veya 10485760 yapmış olsaydım somut bir şekilde hatırlayamıyorum, ancak eski yaparsam bu dizüstü bilgisayarın yüklü olmadığı 100 GB'lık bir alanı ayırmaya çalıştım ;) Bir VM'de bununla uğraşmayı deneyeceğim.
i336_

1

Bu hatayı Debian 5 ve çekirdek 2.6.39.3 64bit çalıştıran bir Lenovo NAS üzerinde çalıştım.

Mesajlar, korkutucu görünmesine rağmen, https://www.novell.com/support/kb/doc.php?id=7002803

Ancak, çok sınırlı bir kök bölümümü dolduruyorlardı (bu aygıt 50 MByte bir kök bölüme sahip mi?!)

Benim için düzeltme setine oldu vm.min_free_kbytesdan 65536Down to 16384.

Daha sonra, işletim sistemi hala 107 MB boş hafıza ve 2 GB tampon belleğe sahip. Bu hiçbir anlam ifade etmiyor, ancak tüm kayıtları durdurdu.


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.