Preloading Thunderbird
Bu SUPER Projesi'ndendir. Sadece Thunderbird'e uyguladım.
Önyükleme (preloading) hakkındaki tüm detaylar için Preloading Internals'a bakın.
parse_strace'yi alın ve bulabileceğiniz bir yere koyun. Veya şu komut dizisini parse_strace isimli bir dosyaya yapıştırın.
parse_strace
#!/bin/bash test -z $1 && exit -1 #özel veriye yapılan göndermeleri kaldırın: /home/ /root/ /tmp/ #önbelleklenemeyen dosya sistemlerine yapılan göndermeleri kaldırın: /proc/ /dev/ /sys/ #sonda istenmeyen satırların kaymasına karşı "/" için grep yapın #(l)stat(64) 'in çağrıldığı her yeri süzün grep stat ./"$1" | grep -v ENOENT | grep -v fstat \ | grep -v /proc/ | grep -v /dev/ | grep -v /sys/ \ | grep -v /home/ | grep -v /root/ | grep -v /tmp/ \ | grep / | sed 'sI^.*("II' | sed 'sI".*II' \ | sort | uniq | grep / | sed 'sI^/Istat /I' > "$1_statted" #bir dosyanın açıldığı her yeri süzün grep -v stat ./"$1" | grep open | grep -v ENOENT \ | grep -v /proc/ | grep -v /dev/ | grep -v /sys/ \ | grep -v /home/ | grep -v /root/ | grep -v /tmp/ \ | grep / | sed 'sI^.*("II' | sed 'sI".*II' \ | sort | uniq | grep / | sed 'sI^/Iopen /I' > "$1_opened" #yola göre sıralayın: diskte daha az kafa hareketi #uniq edin: aynı dosya için bir "open" ve bir "stat" girişi varsa, #sadece "open" kalacak, fazladan stat yapmaya gerek yok cat "$1_statted" "$1_opened" | sort -k 2 | uniq --skip-fields=1 > "$1_preload"
Önyükleme (Preload) Adımları
- önyüklemeyi (preload) kurun
- en son thunderbird'i kurun
- bir geçici (temp) dizin oluşturun
- geçici dizine geçin
- thunderbird'i profillemek için strace kullanın
- girişe (root) geçin
- bir önyükleme komut dosyası oluşturmak için parse_strace komut dosyasını kullanın (yukarıdaki komut dosyasına bakın)
- önyükleme önbelleğini güncelleyin
- önyükleme komut dosyasını taşıyın
- uygulama önyükleme komut dosyasını güncelleyin
yast2 --install preload yast2 --install thunderbird mkdir /tmp/preload_tbird cd /tmp/preload_tbird strace -fF -e open,process thunderbird 2>thunderbird_strace su - sh parse_strace thunderbird_strace mv thunderbird_strace_preload /etc/preload.d/thunderbird update_preload echo 'preload /usr/bin/thunderbird "thunderbird"' >> /usr/bin/appspreloader.sh