Yeni başlatılan bir sistemde, free
1.5G kullanılan RAM hakkında raporlar (tamamen 8G RAM, lightdm ve plazma masaüstü ile Ubuntu 12.04, bir konsol penceresi başladı). Kullandığım uygulamaları çalıştırırken, hala 2G'den fazla tüketmiyor. Ancak, sistemin birkaç gün çalışmasını sağlayarak, ücretsiz RAM'imin giderek daha fazlası kayboluyor - kullanılan uygulamalar listesinde görünmeden: smem --pie=name
% 20'den daha az rapor kullanılıyorsa (ve% 80 kullanılabilir), diğer her şey farklı. free -m
örneğin yaklaşık 7. güne ilişkin raporlar:
total used free shared buffers cached
Mem: 7459 7013 446 0 178 997
-/+ buffers/cache: 5836 1623
Swap: 9536 296 9240
(görebileceğiniz gibi, bu arabellekler veya önbellek değildir). Bugün bu nihayet sistem tamamen çöktü ile sona erdi: windows yöneticisi gitti, uygulamalar "havada asılı" (çerçevesiz) - ve "çok fazla açık dosya" hakkında bana bildiren bir pop-up. Syslog raporları:
kernel: [856738.020829] VFS: file-max limit 752838 reached
Böylece kapatabildiğim uygulamaları kapattım ve Ctrl-Alt-backspace kullanarak X'i öldürdüm. X, failsafeX ile bundan sonra tekrar gelmeye çalıştı, ancak artık yapılandırmasını algılayamadığı için bunu yapamadı. Bu yüzden Ctrl-Alt-F2 kullanarak bir konsola geçtim, aklıma gelen tüm bilgileri (vmstat, free, smem proc/meminfo
, lsof, ps aux
) yakaladım ve son olarak yeniden başlattım . X tekrar failsafeX ile geldi; Bu sefer ona "yedeklenmiş yapılandırmamdan kurtarmayı" söyledim, sonra bir konsola geçtim startx
ve grafiksel ortamı ortaya çıkarmak için başarılı bir şekilde kullandım .
Bu soruna neden olan şey hakkında gerçek bir ipucum yok - X'in kendisiyle veya X üzerinde çalışan bazı kullanıcı süreçleriyle ilgili olması gerekse de - X'i öldürdükten sonra free -m
çıktı şu şekilde görünüyordu:
total used free shared buffers cached
Mem: 7459 2677 4781 0 62 419
-/+ buffers/cache: 2195 5263
Swap: 9536 59 9477
(~ 3.5GB serbest bırakılıyor) - yeni bir başlangıçtan sonra çıkışla karşılaştırmak için:
total used free shared buffers cached
Mem: 7459 1483 5975 0 63 730
-/+ buffers/cache: 689 6769
Swap: 9536 0 9536
İki yardımcı çıkış daha sağlar memstat -u
. Kazadan kısa bir süre önce:
User Count Swap USS PSS RSS
mail 1 0 200 207 616
whoopsie 1 764 740 817 2300
colord 1 3200 836 894 2156
root 62 70404 352996 382260 569920
izzy 80 177508 1465416 1519266 1851840
X'i öldürdükten sonra:
User Count Swap USS PSS RSS
mail 1 0 184 188 356
izzy 1 1400 708 739 1080
whoopsie 1 848 668 826 1772
colord 1 3204 804 888 1728
root 62 54876 131708 149950 267860
Ve bir yeniden başlatmadan sonra, X'te:
User Count Swap USS PSS RSS
mail 1 0 212 217 628
whoopsie 1 0 1536 1880 5096
colord 1 0 3740 4217 7936
root 54 0 148668 180911 345132
izzy 47 0 370928 437562 915056
Düzenleme: İzleme sistemimden iki grafik ekledim. Görmek ilginç: bellek tüketiminde bir "sıçrama" olduğunda, CPU da zirve yapıyor. Hemen şimdi buldum - ve bana X'in kendisine işaret eden başka bir göstergeyi hatırlatıyor: Genellikle makineme geri döndüğümde ve ekran kilidini açtığımda, CPU'mda ağır işler yapan bir şey buldum. İle kontrol top
, her zaman olduğu ortaya çıktı /usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch -background none
.
Bu uzun açıklamadan sonra, sonunda sorularım:
- Olası nedenler neler olabilir?
- İlgili süreçleri / uygulamaları nasıl daha iyi tanımlayabilirim?
- Bu davranışı önlemek için hangi adımları atabilirsiniz - makineyi X gün boyunca yeniden başlatmaktan kısa süre?
Eski makinemde yaklaşık 5 yıldır 8.04 (Hardy) kullanıyordum, hiç böyle bir deneyim yaşamadım (örneğin çekirdek güncellemeleri için yeniden başlatmadan önce her zaman 100 günden fazla çalışma süresi). Şimdi 12.04 yeni kurulum ile tamamen yeni bir makine . Önemli olması durumunda, bazı özellikler:
Radeon (tm) HD Grafikli AMD A4-3400 APU, açık kaynaklı ati / radeon sürücüsü (fglrx takılı değil), 8GB RAM, WDC WD1002FAEX-0 hdd (1 TB), Asus F1A75-V Evo anakart. Ubuntu 12.04 KDE4 / Plazma ile 64 bit. Genellikle daha fazla veya daha az kalıcı olarak açılan uygulamalar arasında Evolution, Firefox, konsole (Midnight Commander içeride çalışıyor, yaklaşık 4 sekme var) ve LibreOffice - artı bazen Caliber, Gimp ve Moneyplex (neredeyse 20 yıldır kullandığım bankacılık yazılımı, Hardy üzerinde iyi olan bir versiyonda).
Düzenleme:
Bugün "kötü adamlar" birini buldum: KDE4s plazma masaüstü. Ben kullandığımda kullanılan bellek yine 5GB, oldu killall plasma-desktop && plasma-desktop
. Bu 1.3GB RAM boşalttı! ps
diyor:
RSS SIZE VSZ
plasma usage before restart 120988 526472 1300816
plasma usage after restart 92352 495972 1263632
Peki bu 1.3GB nerede? Bu değerler arasındaki fark, eklenirse, 1.3GB değil 96MB'dir.
Ve bu sadece bir parça olabilir, çünkü 3,7 GB kullanımdadır (2 GB'den az olmalıdır). Bunu son 6 gün boyunca birkaç araç kullanarak izledim: kullanılan bellek (önbellek ve arabelleklerden bahsetmemek) yavaş ama istikrarlı bir şekilde artar. Bir şey yapmak için masamda olmasam bile ...
Açık dosyalar ile süreçleri izleme konusunda, şu anda ilk 5'i almak için aşağıdaki 1 astarı (kabuğu ve özellikle bash'ı seviyorum) kullanıyorum:
echo "$(for pid in $(ls -a /proc|egrep '^([0-9])*$'|sort -n 2>/dev/null); do \
if [ -e /proc/$pid/fd ]; then FHC=$(ls -l /proc/$pid/fd|wc -l); \
if [ $FHC -gt 0 ]; then PNAME="$(cat /proc/$pid/comm)"; \
echo "$FHC files opened by $pid ($PNAME)"; fi; fi; done)"|sort -r -n|head -n5
Daha iyi okunabilirlik için buraya 4 satır halinde komut verin. Oradan henüz bir şey yok - Skype'ın İnternet bağlantısının kesilmesini sevmemesi dışında. Her bağlantı kesme, açık dosyalarında hafif bir artışa neden olur, ancak dramatik bir şey değildir. Öte yandan plazma da bundan sorumludur:
Sonunda dosya tanıtıcılarının damlalarını görüyor musunuz? Plazma yeniden başlatıldı.
free
. Aslında farklı bir DE'ye geçmeyi düşündüm; KDE3.5 mevcut olsaydı, ben Plazma ile sonuçlanmamıştı. Bu sadece Plazma'nın dahil olup olmadığını görmek için geçici olabilir.
sudo bash -c 'sync; echo 3 > /proc/sys/vm/drop_caches'
ekstra ram temizlemek? Aşağıdaki programların açık dosyalarını görebilirsinizlsof