J'essaie de comprendre pourquoi kjournald
devient fou sur ma machine. C'est une boîte à 8 cœurs avec beaucoup de mémoire. Il a une charge de ~ 50% cpu.
Le iotop ne semble pas à tout point de processus spécifiques de - quelques éclats de écrit ici et là (surtout à partir Cron, des statistiques de suivi générées, etc.) Quand je sys/vm/block_dump
pour recueillir les statistiques d'écriture, je suis arrivé des listes comme ceci:
kjournald(1352): 1909
sendmail(28934): 13
cron(28910): 12
cron(28912): 11
munin-node(29015): 3
cron(28913): 3
check_asterisk_(28917): 3
sh(28917): 2
munin-node(29022): 2
munin-node(29021): 2
Où les kjournald
actions ne sont que des ÉCRITS.
Pourquoi cela se produit-il? Que dois-je regarder d'autre pour limiter un peu l'activité de kjournald? Cela semble disproportionné par rapport à ce qui est réellement écrit.
linux
filesystems
tuning
kjournald
viraptor
la source
la source
Réponses:
kjournald
est responsable du journal d'ext3 (journalisation du système de fichiers). Il est connu d'utiliser beaucoup de CPU sous certaines charges. Il n'y a pas grand-chose à faire sauf utiliser un autre système de fichiers ou désactiver la journalisation (ce qui rend le fs ext2 efficace).Théoriquement, vous pouvez utiliser l'un des autres modes de journalisation ext3 et vérifier si l'utilisation du processeur diminue, mais n'oubliez pas que chaque méthode est un compromis sur la sécurité des données écrites sur le disque. Vous avez commandé le mode, le mode d'écriture différée et le mode «tout».
Vous définissez le mode en utilisant l'option
data=
lors du montage du système, commedata=ordered
.la source
Par défaut, votre système de fichiers ext3 va être monté avec atimes activé. Chaque fois qu'un fichier ou répertoire est lu / accédé, le système de fichiers devra réécrire sur les disques pour mettre à jour cet enregistrement atime. Cela signifie que même si votre charge de travail est principalement basée sur la lecture, vous devrez toujours frapper les disques pour mettre à jour les temps d'accès de chaque fichier et répertoire, et c'est ma supposition pour laquelle votre
kjournald
processus écrivait autant de blocs.La désactivation de atime entraînera une forte augmentation des performances, mais rompra la conformité POSIX. Consultez cet article Wikipedia pour une discussion autour de la critique de atime.
Pour désactiver parfois, ajoutez simplement
noatime
les options de montage pour votre système de fichiers, ou vous pouvez remonter comme suggéré par poige. Voici un exemple pour votre système de fichiers racine:la source
relatime
ce qui semble être un compromis acceptable entrenoatime
etatime
.Si la perfection des données n'est pas importante: faites-le
Assurez-vous que c'est vraiment kjournald. C'est ce qui fait planter mon serveur.
Changer le disque dur en SSD fonctionnerait.
Lorsque vous voyez kjournald écrire 5 à 10 Mo de données que vous faites
http://ubuntuforums.org/showthread.php?t=56621
où sda1 est le nom de votre partition
Signaler le résultat en commentaire afin que je puisse vérifier davantage.
la source
Pas dans l'ordre, juste pour mentionner:
mount -oremount,noatime /fs/being_over/journaled
- comme une supposition rapide (vous ne nous avez pas montré de quoi vous avez l'mount
air de toute façon)tune2fs -J …
)la source