Systemd-journal-flush.service kullanımı nedir?


14

Sistem açılış zamanımı yavaşlatıyor.

Devre dışı bırakabilir miyim?

Önyükleme sırasında devre dışı bırakırsam ne olur?

Ubuntu 18.04 sürümünü kullanıyorum.

Yanıtlar:


14

systemd-journal-flush.serviceEğer / var / log / dergi içine de / run / log / dergi saklanan herhangi bir günlük veri floş dergi cini sorar persistentdepolama etkindir. Büyük (zaten) büyük günlük dosyalarınız varsa, bu daha yavaş önyüklemeye neden olur. Ayrıca disk (ile /var/log) bunun için yazılabilir bir modusa monte edilmelidir.

Özetlemek gerekirse: önyükleme sırasında denetlenen çok büyük eski günlük dosyaları ve yeni günlük verilerinin eklenmesi daha yavaş önyükleme süresine neden olur.

Journalctl günlük boyutu türünü kontrol etmek için

journalctl --disk-usage

Yıkama işleminin zaman ve disk alanı bilgilerini almak için aşağıdaki komutu girin

journalctl -b --unit systemd-journald

Karşılık gelen çıktı

-- Logs begin at Sat 2018-12-08 00:40:23 CET, end at Mon 2018-12-10 19:40:27 CET. --
Dec 10 12:51:38 ubuntu01 systemd-journald[479]: Journal started
Dec 10 12:51:38 ubuntu01 systemd-journald[479]: Runtime journal (/run/log/journal/265c93c062bf4c8da41abfe2ae793452) is 4.7M, max 38.3M, 33.5M free.
Dec 10 12:51:38 ubuntu01 systemd-journald[479]: Time spent on flushing to /var is 7.066904s for 132 entries.
Dec 10 12:51:38 ubuntu01 systemd-journald[479]: System journal (/var/log/journal/265c93c062bf4c8da41abfe2ae793452) is 128.0M, max 256.0M, 128M free.


Ya sen

  • Hizmeti devre dışı bırakın (önerilmez)

    O zaman tüm log verilerinin diske yazılmaması mümkündür; önyükleme hataları hata ayıklarken can sıkıcı.


  • Bir journalctl --vacuumkomut kullanın

    itibaren journalctl -h

    --vacuum-size = BYTES Disk kullanımını belirtilen boyutun altında azalt
    --vacuum-files = INT Yalnızca belirtilen sayıda günlük dosyası
    bırakın --vacuum-time = TIME Günlük dosyalarını belirtilen süreden daha eski olanları kaldırın

    Dolayısıyla bir

     sudo journalctl --vacuum-size=1G --vacuum-time=5d --vacuum-files=5
    


  • Depolama türünü değiştir systemd-journal-flush.service

    Önce depolama türünüzü

     systemctl cat systemd-journal-flush.service  | grep -i storage
    

    itibaren man journald.conf

    Depolama =

    Günlük verilerinin nerede depolanacağını denetler. "Uçucu", "kalıcı", "otomatik" ve "yok" tan biri.

    " Uçucu " ise, günlük günlüğü verileri yalnızca bellekte, yani / run / log / günlük hiyerarşisinin altında saklanır (gerekirse oluşturulur).

    " Kalıcı " ise, veriler tercihen diskte, yani / var / log / günlük hiyerarşisinin altında (gerekirse oluşturulur), / run / log / journal'e (gerekirse oluşturulur) bir geri dönüşle depolanır. erken önyükleme ve disk yazılabilir değilse.

    " auto ", "sürekli" ye benzer, ancak gerekirse / var / log / journal dizini oluşturulmaz, böylece varlığı günlük verilerinin nereye gittiğini denetler.

    " none " tüm depolama alanını kapatır, alınan tüm günlük verileri kaldırılır. Konsol, çekirdek günlük arabelleği veya bir sistem günlüğü soketi gibi diğer hedeflere yönlendirme yine de çalışır. Varsayılan olarak "otomatik".

    Dosyayı düzenle

    sudo nano /etc/systemd/journald.conf
    

    Dergi bölümünde rahatsızlık ve değişiklik:

    Storage=auto
    SystemMaxFileSize=1G
    SystemMaxFiles=5
    

    Kaydet ve yeniden başlat.



Neden büyük günlük dosyasının önyüklemeyi yavaşlattığını anlamıyorum? giriş / çalıştırma / günlük / günlüğü temizler, ancak bu yalnızca son önyüklemeden bu yana
günlüktür

1
Mutlak değilim. Ayrıca systemd-user-sessions-flush.service dosyasının systemd-user-sessions.service'e (bkz. Http://github.com/systemd/systemd/pull/10502) bağımlılığı da (işe yaramaz mı?) Olabilir. Ancak, günlük dosyasını 1GB'tan daha azıyla sınırlamanın önyükleme süresini hızlandırdığını deneyimledim. Systemd / journal / * kodunu okudum ama sth'yi ilginç bulmadım.
abu_bua

1
Belki de- / kompresyon (lz4) nedeniyle? Diğer günlük verileri sadece dosyaya aktarılmaz; günlüğe alır ve daha hızlı arama için bir karma tablo değiştirildi, nesneler, ...
abu_bua

1
Dergi dosyaları ve / var / log dosyaları arasında nasıl bir yorum yararlı olabilir düşünüyorum; Bu konuda net değilim ama bana günlük günlüğü aktif ve temiz / normal / var / log dosyalarında diske etkin veri yazıyor temizlendi zaman?
pbhj

haklısınız, ancak önyükleme sırasında disk ilk önce monte edilmek zorunda olduğu için veriler diske yazılamıyor.
abu_bua

3

Systemd geliştirici ana sayfasındaki bu gönderiye göre, Birim dosyasını değiştirerek düzeltebilirsiniz .

Bunu yapmak için açın /lib/systemd/system/systemd-journal-flush.service, örn.

sudo vim /lib/systemd/system/systemd-journal-flush.service

ve değişim bağımlılık Önce gelen

 Before=systemd-user-sessions.service systemd-tmpfiles-setup.service

 -

 Before=systemd-tmpfiles-setup.service

Bu düzeltme, sistem sürümü>  v240 için otomatik olarak değiştirilecektir.

Dosyayı kaydetmeyi unutmayın.

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.