Ext4 ? Extra merdique v4 ?

Ext4 est l’évolution de Ext3, des articles ont fleuri pour vanter ce système, avec des benchmarks, des explications, et tout le bla bla bla pour dire que c’est génial, que c’est la nouvelle technologie « tip top caviar ».

Et c’était vrai à une époque. Récemment, mon linux (abréviation de GNU/Linux/Arch linux/KDE/etc) est devenu tellement lent que j’ai l’impression d’être sous une version de Windows bourrée de malwares. A vrai dire, quand j’ai booté sur Windows XP (en dual boot) pour tester la béta de Diablo 3 en avril, cela a été une très grande bouffée d’air frais, que c’était bon. A me demander « mais putain pourquoi je suis allé sur linux ?« , la réponse est qu’il faut essayer les alternatives pour savoir si elles sont meilleures… et aussi parce que la propagande linux cay tro bi1 cay prey pr l3 d3skt0p a fait son effet.

Bref, sous linux Firefox met 2h pour se lancer, il freeze quand je regarde des vidéos flash (chromium aussi), le disque dur ne cesse de gratter et semble être le goulot d’étranglement. Même une petite vidéo (en débit) sous VLC j’obtiens parfois des freezes de l’image, même si à ce niveau là cela correspond plus à de l’incompétence à mettre en cache suffisamment de données. Et tous ces problèmes, je ne les avais pas avant, je ne serai jamais resté sur linux aussi longtemps sinon.

La solution se traduit comme d’habitude sous linux par de la perte énorme de temps. De la recherche, des tests, des échanges avec la communauté avec les cons qui vont répondre à coté ou dire que chez eux ça marche. Bref, en fait j’ai sauté toutes ces étapes que je connais trop bien. J’ai direct appliqué les optimisations bourrines ext4 de la partition /home, car à vrai dire, je n’étais pas sûr à 100% que ça pouvait venir de là.

Résultat: alléluia, j’ai retrouvé un linux réactif et rapide. Presque dingue… Mais ces optimisations ne sont pas sans risque, elles entraînent un risque de corruption des données en cas d’arrêt brutal. Ce sont les options barrier=0, data=writeback, nobh et commit=60 (certaines décrites ici, d’autres ). Il va de soit que j’avais déjà la classique option noatime.

Le plus ironique est que cela concerne la partition /home, celle où les données sont les plus sensibles… Or, une vidéo flash n’est pas censée utiliser le disque dur, les fichiers sont sur tmpfs (RAM ou Swap, mais j’ai jamais été en swap). D’un autre coté, il est impossible d’écrire sur / car firefox/chromium n’est pas lancé en tant que root heureusement. C’est /home car tout simplement firefox (et chromium) s’en sert pour écrire ses données dont le cache, mais je ne vois pas spécialement pourquoi il se mettrait à faire ramer le disque pendant plusieurs dizaines de secondes quand une vidéo flash se lance. Par sécurité et par facilité, j’en suis réduit à me créer un espace sur / pour les données sensibles de /home.

Si je suis sur linux c’est pour ma curiosité (même si elle a des limites, comme pour le problème sous android), et suite à ce problème, je voulais savoir pourquoi et comment c’est arrivé. Je suis tombé sur cet article, sur phoronix (article sur plusieurs pages) et ce fut la révélation. D’une version à l’autre du kernel, les performances peuvent être divisée par deux, voire par 5 pour PostgreSQL.

Ceci dit, c’était à partir la version 2.6.31 du kernel qu’il y avait ces problèmes, c’est à dire septembre 2009. Cela me chagrine car j’ai eu ce problème que bien après, cela a commencé fin 2011. Je n’ai pas envie de passer plus de temps à chercher les origines. De plus il n’y a pas de filemon potable comme sous Windows (strace m’a profondément déçu). Bref, linux ? C’est de la merde.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :