Florent Peterschmitt

systemd + btrfs + journald flush = long boot time

À chaque démarrage de ma machine, l’unité systemd-journal-flush.service (Flush Journal to Persistent Storage) mouline pendant plus de 30 secondes. Je veux bien mais… la machine vient seulement de démarrer, il n’y a normalement pas grand chose à écrire sur le disque… et il est sollicité comme jamais.

Ceci dit, je n’ai jamais remarqué le problème avec ext4, et il est rencontré sur des Fedora, voir #1006386 chez RedHat alors que je suis sur Gentoo et n’est pas récent.

À la fin du post, on trouve ceci :

btrfs fi defrag /var/log/journal/*/*

Eh beh ça fonctionne…

La cause n’est pas la multiplicité des fichiers, pas plus que leur taille :

┌(amidala)─(0)──(/home/wrk)
└─> tree /var/log/journal/
/var/log/journal/
├── 39608e9264f183478332d7ff55b7cdf2
│   ├── system.journal
│   ├── user-1000.journal
│   ├── user-1001.journal
│   ├── user-1002.journal
│   ├── user-1003@83a1f3012ae34bd1b86fd5dac6689c05-000000000001ce49-00051ed86d1efb13.journal
│   └── user-1003.journal
└── remote

2 directories, 6 files
┌(amidala)─(0)──(/home/wrk)
└─> ls -lh /var/log/journal/39608e9264f183478332d7ff55b7cdf2/
total 107M
-rw-r-----. 1 root systemd-journal  64M Sep 12 10:40 system.journal
-rw-r-----+ 1 root systemd-journal 8.0M Aug 10 15:00 user-1000.journal
-rw-r-----+ 1 root systemd-journal 8.0M Sep 11 23:58 user-1001.journal
-rw-r-----+ 1 root systemd-journal 8.0M Sep 12 10:30 user-1002.journal
-rw-r-----+ 1 root systemd-journal 8.0M Sep  3 19:11 user-1003@83a1f3012ae34bd1b86fd5dac6689c05-000000000001ce49-00051ed86d1efb13.journal
-rw-r-----+ 1 root systemd-journal 8.0M Sep  3 19:12 user-1003.journal

En revanche, le wiki de btrfs nous apprend que ce type de défragmentation ne s’intéresse qu’aux métadonnées. Hum. Affaire à suivre.

Édition du 17/09/2015 : la suite ici