Il ralentit le temps de démarrage de mon système.
Puis-je le désactiver ?
Que se passera-t-il si je le désactive au démarrage ?
J'utilise la version 18.04 d'Ubuntu.
Il ralentit le temps de démarrage de mon système.
Puis-je le désactiver ?
Que se passera-t-il si je le désactive au démarrage ?
J'utilise la version 18.04 d'Ubuntu.
El systemd-journal-flush.service
demande au démon de journal de vider toutes les données de journal stockées dans /run/log/journal dans /var/log/journal, si persistent
le stockage est activé. Si vous avez (déjà) d'énormes fichiers journaux, cela entraînera un démarrage plus lent. En outre, le disque (avec /var/log
) doit être monté dans un mode d'écriture pour le faire.
Pour résumer, les anciens fichiers journaux volumineux, qui sont vérifiés lors du démarrage, et l'ajout de nouvelles données de journal entraînent un ralentissement du démarrage.
Pour vérifier la taille du journal journalctl, tapez
journalctl --disk-usage
Afin d'obtenir les informations sur le temps et l'espace disque du traitement de la chasse d'eau, entrez la commande suivante
journalctl -b --unit systemd-journald
La sortie correspondante ressemblera à
-- 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.
Il est alors possible que toutes les données du journal ne soient pas écrites sur le disque, ce qui est gênant pour le débogage des défauts de démarrage. Journald est un service fondamental dans systemd linux et de nombreux autres services en dépendent.
Vérifier la cohérence interne du fichier journal :
journalctl --verify
Veillez à ce que chaque journal apparaisse PASSER .
journalctl --vacuum
commandeDesde journalctl -h
--vacuum-size=BYTES Réduire l'utilisation du disque en dessous de la taille spécifiée
--vacuum-files=INT Ne laisser que le nombre spécifié de fichiers journaux
--vacuum-time=TIME Supprime les fichiers journaux plus anciens que le temps spécifié
Faites donc un
sudo journalctl --vacuum-size=1G --vacuum-time=5d --vacuum-files=5
systemd-journal-flush.service
Vérifiez d'abord votre type de stockage avec
systemctl cat systemd-journal-flush.service | grep -i storage
Desde man journald.conf
Stockage=
Contrôle l'endroit où sont stockées les données du journal. Parmi "volatile", "persistant", "auto" et "aucun".
Si " volatile ", les données du journal seront stockées uniquement en mémoire, c'est-à-dire en dessous de la hiérarchie /run/log/journal (qui est créée si nécessaire).
Si " persistant ", les données seront stockées de préférence sur le disque, c'est-à-dire en dessous de la hiérarchie /var/log/journal (qui est créée si nécessaire), avec un repli sur /run/log/journal (qui est créé si nécessaire), lors du démarrage anticipé et si le disque n'est pas accessible en écriture.
" auto "est similaire à "persistant" mais le répertoire /var/log/journal n'est pas créé si nécessaire, de sorte que son existence contrôle où vont les données du journal.
" aucun "Désactive tout le stockage, toutes les données de journal reçues seront abandonnées. Le transfert vers d'autres cibles, telles que la console, le tampon de journalisation du noyau ou une socket syslog, fonctionnera néanmoins. ou une socket syslog fonctionnera toujours. La valeur par défaut est "auto".
Modifier le fichier
sudo nano /etc/systemd/journald.conf
Dans la section journal, décommentez et modifiez :
Storage=auto
SystemMaxFileSize=1G
SystemMaxFiles=5
Je recommande de limiter la taille de la SystemMaxFileSize à 20MB -->
SystemMaxFileSize=50M
Enfin, dans le cas où votre Ubuntu ne tourne pas sur un serveur important, je vous suggère de changer le stockage des données en volatile :
Storage=volatile
Si vous exécutez le démarrage en mode débogage et que vous suivez les appels système (strace), vous découvrirez peut-être que l'écriture en flush a des performances d'entrée/sortie très faibles. Dans mon cas, la raison n'était pas claire. Peut-être que certains messages du noyau spamment le fichier journal (notez qu'après 10000 messages l'unité est bloquée par défaut, mais journald doit gérer cela, ce qui peut être la cause de la mauvaise performance). Dans ce cas, passez en revue les messages et recherchez les erreurs, qui n'ont pas nécessairement été marquées comme telles.
journalctl -b --output short-monotonic
et
journalctl -b -p 1..4 --output short-monotonic
El --output short-monotonic
imprime les pas de temps en contraste avec l'heure utc par défaut.
Enfin, supprimez les anciens fichiers journaux en
sudo rm -rf /var/log/journal
Sauvegarder et redémarrer.
Selon ce post de la Page d'accueil du développeur systemd vous pouvez y remédier en changeant le Fichier d'unité .
Pour ce faire, ouvrez /lib/systemd/system/systemd-journal-flush.service
, eg
sudo vim /lib/systemd/system/systemd-journal-flush.service
et changer le Avant la dépendance de
Before=systemd-user-sessions.service systemd-tmpfiles-setup.service
à
Before=systemd-tmpfiles-setup.service
Cette correction sera automatiquement modifiée pour les versions de systemd > v240.
N'oubliez pas d'enregistrer le fichier.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.