[Gelistirici] mudur ile ilgili mevcut sorunlar ve açılış sürecinin iyileştirilmesi
Ozan Çağlayan
ozan at pardus.org.tr
22 Kas 2008 Cmt 02:54:12 EET
Selam,
mudur ile ilgili bir optimizasyon ve iyileştirme sürecine girmemiz
gerektiğini düşünüyorum. Bu bağlamda gözlemlerimi aktarıyor ve çılgın
fikirlerinizi, farklı farklı insanlardan gelecek über çözümleri buraya
toplayıp biraz beyin fırtınası yapalım diyorum.
Öncelikle mevcut hatalarımız:
- Uzak dosya sistemi bağlarken 2008 müdürünün CTRL+C'yi handle
edememesi,
http://bugs.pardus.org.tr/show_bug.cgi?id=7524
- Udev başlatıldığı sırada dosya sistemi salt-okunur bağlandığından,
udev'in rule-generatorları ile "o evrede" ürettiği hiçbir kuralın
/etc/udev/rules.d altına yazılamıyor olması. Bunun bir sonucu bazı
makinelerde persistent bir şekilde ağ arabirimlerinin isimlendirilememesi,
http://bugs.pardus.org.tr/show_bug.cgi?id=8458
Bunlar dışında sık karşılaşılan durum(lar):
- Bir sebepten dolayı müdür bir evrede sorunla karşılaştığında
müdür'ün sonlanarak "Bakım için root parolanızı girin veya CTRL+D ile
devam edin" diyerek kullanıcıyı çaresiz bırakması. Burada müdür belli
başlı bir kaç check yaparak sorunu tespit edip düzeltmeye çalışabilir.
(comar-rdb betiğini çalıştırır, fsck yapar,..) Ya da bu opsiyon grub'a
eklenebilir.
----
Burada ise mudur=debug ile yaptığım bazı süre analizlerinden bahsedeyim.
Testleri Asus eeepc 901 ile yaptım:
- /dev içeriği dolduruluyor evresinde 5-6 saniye harcanıyor,
- Yeni çekirdek ile ilk açılışta depmod çalışıyor ve yine 5-6 saniye
çalışıyor. Ancak bu bir defaya mahsus bir şey. depmod -a yerine depmod
--quick kullanmak bu süreyi de azaltabilir mi? quick neye göre yeni
modül olup olmadığına bakıyor?
- Bundan sonra kaydadeğer bir kaybımız yok. Servislerin başlatılması
gerçekten iyi sayılabilecek sürelerde gerçekleşiyor. Ancak bir istisna
var, o da irqbalance. Arkadaşın işini bitirmesi açılış esnasında 6-7
saniye alıyor, sistem açıldıktan sonra konsoldan time ile
çalıştırdığımda ise 11 saniye civarında. Kendisi oneshot bir servis yani
başlayıp, işini halledip bitiyor.
Burada paralel servis başlatmanın önemli bir getirisi olduğunu görüyoruz
aslında. irqbalance ve buna benzer kendi başına, bağımlılığı ve kendine
bağımlı servis olmayan servisler asenkron olarak başlatılabilirse çok
güzel bir performans artışı yaratılabilir. irqbalance çalıştırılıp sonra
onun 6 saniye dönmesi beklenmeden kdm geliyor olsa bunun kimseye bir
zararı dokunmaz gibime geliyor.
Kapanışa gelince, kapanışta tmpfs'in ayrılması kaydadeğer bir süre
alıyor. Tam bakamadım ama anladığım kadarıyla ilk defada unmount
edemediği için onu kullanan processleri öldürüp, 2 saniye uyuyup tekrar
unmount etmeye çalışıyor. Bu diğer bölümler için de geçerli. Bu sleep'e
gerçekten ihtiyacımız var mı?
Şimdilik bu kadar, iyi geceler :)
--
Ozan Çağlayan
<ozan_at_pardus.org.tr>
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi