La sortie de la version stable 5.0 du noyau Linux a Ă©tĂ© annoncĂ©e le 4 mars 2019 par Linus Torvalds. Le nouveau noyau est, comme dâhabitude, tĂ©lĂ©chargeable sur les serveurs du site kernel.org. Linus a dĂ©cidĂ© de faire une RCâŻ8, ce qui est relativement inhabituel. Le dĂ©tail de quelquesâunes des Ă©volutions et nouveautĂ©s se trouve dans la seconde partie de la dĂ©pĂȘche.
Sommaire
- En bref
- Annonces des versions candidates par Linus Torvalds
- Les nouveautés
- Statistiques
- Autour du noyau
- Pour terminer
En bref
Pourquoi Linux 5.0âŻ? Rien Ă dire de particulier, rien de remarquable, câest juste un changement de version.
Annonces des versions candidates par Linus Torvalds
RC-1
Annonce de la premiĂšre candidate, le 6 janvier. Note Ă propos des vacances de fin dâannĂ©e, et du calme apparent. La quantitĂ© de modifications est jugĂ©e normale.
Linus annonce Ă cette occasion que la 4.21 deviendra la 5.0, et en donne lâexplication : il nây a pas de raison particuliĂšre, alors faisonsânous Ă lâidĂ©e, ou notre propre raison.
RC-2
Annonce de la seconde candidate, tout est normal : la fenĂȘtre de fusion est respectĂ©e, sauf pour quelques cas pas plus nombreux quâĂ lâhabitude, le nombre des changements, leur rĂ©partition et la quantitĂ© de code sont eux aussi dans les standards habituels. Quelques amĂ©liorations du cĂŽtĂ© des outils de suivi des performances sont notĂ©es tout particuliĂšrement.
RC-3
Annonce de la troisiĂšme candidate. Ici on y trouve une attention particuliĂšre sur la pile rĂ©seau elleâmĂȘme, ainsi que sur les pilotes rĂ©seau. Quelques changements cĂŽtĂ© architectures, surtout MIPS et PowerPC.
RC-4
La quatriĂšme candidate a un cycle un peu excitĂ©. Linus signale que plus de demandes dâintĂ©gration sont survenues au dernier moment, et que certaines ont Ă©tĂ© refusĂ©es, mais rien dâanormal.
RC-5
Le calme revient pour le cycle de cette cinquiÚme candidate. Un tiers des changements a lieu dans les pilotes. Et Linus parle encore de vacances.
RC-6
Pour la sixiĂšme, câest toujours les pilotes rĂ©seau qui sortent du lot. Câest sur des rails que cette sortie se fait, une belle candidate de prime abord.
RC-7
La septiÚme montre des statistiques avec presque la moitié des changements pour les pilotes. Et beaucoup de changements atomiques, petites modifications : on est vraiment dans la correction de bogues et les petites améliorations.
RC-8
Surprise, la RC-7 ne suffira pas, un grand nombre de changements arrive dâun coup. Ce ne sera donc pas une version finale, elle sera estampillĂ©e RC-8, repoussant ainsi dâun cycle la sortie de cette 5.0. Cette candidate nâest pas Ă©norme mais propose plus de changements que la prĂ©cĂ©dente. Une semaine de calme sera bienvenue avant la sortie officielle.
Les nouveautés
Des problÚmes de performances�
Michael Larabel a constatĂ© de sĂ©vĂšres rĂ©gressions de performances avec ce noyau 5.0, Ă Â tous les niveaux. Tellement quâon peut lĂ©gitimement se demander sâil ne se serait pas tout simplement trompĂ© dans les options de compilationâŻ? Notons que ces tests de performance ont Ă©tĂ© faits avant la sortie du noyau, avant mĂȘme les derniĂšres RC.
Architectures
x86 & x86-64, Intel et AMD
Ajout de la prise en charge des extensions QoS « QualitĂ© de Service de la plateâforme » permettant dâavoir une surveillance de lâusage des consommations de certaines ressources, de les allouer et les limiter sĂ©parĂ©ment, pour la nouvelle gĂ©nĂ©ration des processeurs AMD, dite « EPYC ». Cette possibilitĂ© nâest pas seulement ajoutĂ©e, elle est mise en coexistence avec le gestion du RDT pour les processeurs Intel. LâentrĂ©e RESCTL est une nouvelle structure accueillant Ă la fois et INTEL RDT et AMD QoS. La gestion du cache est Ă©galement mise Ă jour pour suivre cette Ă©volution.
Toujours du travail pour Ă©liminer empĂȘcher au mieux les failles de la famille « Spectre v2 », par exemple pour les multiples processeurs AMD ayant chacun des spĂ©cificitĂ©s avec leur STIBP (Single Thread Indirect Branch Predictor)
Enfin, de nombreux ajouts pour les ordinateurs portables, des raffinements tels que les touches dâaccĂšs rapide pour WMI chez Huawei ou encore le contrĂŽle visuel par DEL (LED) lors de la dĂ©sactivation du micro pour les portables DELL, et lâĂ©quivalent pour les Lenovo.
ARM
Beaucoup de nouveaux systĂšmes mono-puces (SoC â System on Chips) sont intĂ©grĂ©s (NXP/Freescale i.MX7ULP, i.MX8 64 bits avec Cortex A3 et prise en charge de la vidĂ©o 4K, Qualcomm QCS404, Allwinner R40/T3, etc.), ainsi que seize nouvelles platesâformes (nouveau Linksys EA600 par exemple, i.MX mtrion et i.MX 7D, Rockchip BQ edition, etc.).
La grande famille ARM est également touchée par « Spectre v2 » et a donc aussi son lot régulier de correctifs pour cela. Cette version 5.0 intÚgre les instructions dites « SB » (speculation barrier) pour la génération ARM v8.5. Voir le commit initial.
IntĂ©gration des algorithmes de chiffrement XChaCha12 et XChaCha20 pour tous, ainsi que la gestion de lâaccĂ©lĂ©ration matĂ©rielle via NEON pour NHPoly1305.
ARM64 bénéfice aussi de la plupart de ces avancées, auxquelles il faut ajouter, entre autres, la gestion de KASLR et la vérification de signatures.
Enfin, lâarchitecture particuliĂšre « big.LITTLE » reçoit une amĂ©lioration pour la consommation dâĂ©nergie dans lâordonnanceur de tĂąches. Les tĂąches rĂ©veillĂ©es le sont toujours en prioritĂ© sur les cĆurs de processeur les moins gourmands en Ă©nergie dans cette architecture dissymĂ©trique. Son inclusion dans le noyau commence avec ce correctif et est maintenant complĂšte. Une architecture « big.LITTLE » sur ARMv8 propose jusquâĂ quatre cĆurs de processeur LITTLE en Cortex A-53âŻ(!) et jusquâĂ seize cĆurs de processeur Cortex A-57, liĂ©s en diffĂ©rentes configurations : autant dire que « ça envoie du bois ».
PowerPC
Belle avancĂ©e pour le PowerPC, avec lâajout de la gestion des Huge Pages de 8âŻMio (et celles de 512âŻKio). Pour rappel, le processeur alloue par dĂ©faut de la mĂ©moire vive par page de 4âŻKio. Plus il y en a et plus de temps processeur est pris pour trouver la bonne page Ă la demande. Les Huge Pages proposent donc des « chunks » plus gros et des pages plus larges. Les applications qui en bĂ©nĂ©ficient sont surtout les bases de donnĂ©es, la virtualisation, et lâusage de diffĂ©rents procĂ©dĂ©s de cache mĂ©moire (memcached par exemple).
Un PowerPC a également du travail pour combattre « Spectre v2 » : le processeur NXP Book3E de chez Freescale.
Autres
Ajout dâune prise en charge prĂ©liminaire pour Loongson 3A R2.1 et amĂ©lioration du cĂŽtĂ© de ptrace pour les MIPS. Du cĂŽtĂ© de RISC-V, la gestion pour lâaudit est lĂ .
Gestion de la mémoire
Parmi les changements et améliorations dans la gestion de la mémoire vive :
RĂ©organisation du tableau de lâOOMÂ Killer
LâOOM Killer (out of memory management) est un mĂ©canisme sâenclenchant lorsquâil nây a plus aucune mĂ©moire disponible : le noyau construit un tableau de victimes potentielles pour tuer celles prĂ©sentant Ă la fois une forte consommation de ressources et ayant une fonction non essentielle. Le noyau prĂ©serve ainsi le systĂšme et les services rendus. Cas dâexemple : une fuite mĂ©moire dans un script Python utilisant gdal, au lieu de faire un Ă©cran bleu, ce script sera tuĂ© et le systĂšme continuera dâĂȘtre opĂ©rationnel pour les autres â mais cette rĂ©organisation ne changera pas lâOOM killer en lâadaptant pour les machines de bureau : il continuera de tuer joyeusement et avec bonne humeur votre LibreOffice.
RĂ©duction de la fragmentation des Transparent Huges Pages
Du cĂŽtĂ© des Transparent Huges Pages (THP), la fragmentation a Ă©tĂ© rĂ©duite de 90âŻ%, amĂ©liorant probablement leurs performances. Il ne sâagit pas dâune nouveautĂ© Ă proprement parler mais de la suite dâun travail constant. Si discuter des Ă©vitements de fragmentations de la mĂ©moire vive dans un contexte dâusage des THP ne vous fait pas mal au crĂąne, ce commit explique en dĂ©tails les enjeux et les amĂ©liorations apportĂ©es dans cette version.
Retours dâinformation des dĂ©faillances mĂ©moire
Des amĂ©liorations sur les retours dâinformation en cas de dĂ©faillance dâune mĂ©moire, permettant de mieux identifier le problĂšme, voir ce commit.
Option de dĂ©sactivation de kmemleak lors de lâamorçage
Une nouvelle option permettant de dĂ©sactiver le kmemleak Ă lâamorçage du systĂšme a Ă©tĂ© ajoutĂ©e. Pour mĂ©moire, kmemleak propose une façon pour identifier les fuites mĂ©moire des applications en espace utilisateur (dâautres mĂ©thodes existent, avec Valgrind par exemple). Ce procĂ©dĂ© scanne la mĂ©moire vive pĂ©riodiquement. Offrir sa dĂ©sactivation permet dâallĂ©ger le processeur pour des environnements et systĂšmes oĂč le dĂ©bogage nâest pas ciblĂ© ou utilisĂ©.
Sécurité
Nouvelles commandes TPM2
De nouvelles commandes spécifiques à TPM2 ont été intégrées, conformément au TCG 1.3x.
SELinux
Correction dâune erreur avec SELinux qui empĂȘchait par dĂ©faut le montage de sousâvolumes, alors que lâaction sur le volume initial/principal a dĂ©jĂ Ă©tĂ© vĂ©rifiĂ©e et autorisĂ©e. Ceci causait des problĂšmes avec lâautoâmonteur automount, AutoFS, et NFS. DorĂ©navant, lorsquâun sousâvolume prĂ©sente un drapeau MS_SUBMOUNT
, SELinux autorise son montage.
SECCOMP
Amélioration pour le systÚme SECCOMP : si un conteneur demande, par exemple, un init_module()
, alors SECCOMP va analyser lâimage du module et charger le correspondant cĂŽtĂ© hĂŽte. Autre cas, autre exemple : un conteneur nâa pas accĂšs Ă mknode()
, et personne ne veut dâun systĂšme de liste blanche pour des usages lĂ©gitimes (de type /dev/null
ou /dev/zero
) et mount
a dĂ©jĂ tout le nĂ©cessaire pour rĂ©pondre Ă ce besoin. Une trap SECCOMP a donc Ă©tĂ© ajoutĂ©e pour lâespace utilisateur afin de notifier une autre tĂąche quâun filtre SECCOMP particulier vient dâĂȘtre dĂ©clenchĂ©. ConcrĂštement, SECCOMP peut donc maintenant dĂ©lĂ©guer des politiques en espace utilisateur.
Chiffrement NHPoly1305, XChaCha12 et XChaCha20
Les algorithmes de chiffrement NHPoly1305, XChaCha12 (lĂ surtout pour Adiantum) et XChaCha20 ont Ă©tĂ© intĂ©grĂ©s. Ce document (en anglais) sur cr.yp.to, prĂ©sente assez simplement les informations sur ChaCha. La gestion de lâaccĂ©lĂ©ration matĂ©rielle pour ces mĂȘmes algorithmes a Ă©tĂ© ajoutĂ©e dans le pilote CCAM (crypto_dev_fsl_caam).
Chiffrement AEAD pour le pilote Nitrox
Ajout de lâalgorithme AEAD pour le pilote Nitrox, utilisĂ© par exemple sur certaine cartes Marvell, aussi dans une architecture « LiquidIO IPSec » (via Cavium) avec certaines cartes rĂ©seau du mĂȘme fabricant.
ARM TrustZone CryptoCell
LâARM TrustZone CryptoCell 703, Ă©dition chinoise du 713, car nâintĂ©grant que les algorithmes validĂ©s par lâoffice chinois OSCCA, est intĂ©grĂ©. Sa version « complĂšte » 713 Ă©galement. Voir cette ressource pour une comparaison rapide.
kexec
kexec est une ancienne capacitĂ© de charger un second noyau en mĂ©moire vive, pour rĂ©amorcer le systĂšme dessus sans passer par les phases dâinitialisation des BIOS, micrologiciels et EFI longues, trĂšs longues, de certaines machines.
kexec_load_file()
tient maintenant compte du nouveau trousseau de clefs nommé .plateform
de SecureBoot. Il est aussi utile pour dâĂ©ventuels modules de sĂ©curitĂ©Â qui peuvent utiliser ce nouveau trousseau pour vĂ©rifier, autoriser et interdire les images noyau chargĂ©es, demandĂ©es par un appel kexec_load_file()
.
Plaisirs dâadministrateurs systĂšme
Les administrateurs systÚme bénéficient des nouveautés suivantes :
- lâajout de deux marques spĂ©cifiques dans le systĂšme fanotify permettant de distinguer une exĂ©cution :
fan_open_exec
etfan_open_exec_perm
â tous les administrateurs systĂšme utilisant ce sousâsystĂšme via des utilitaires tels quâinotify, incron et audit en seront ravisâŻ; - lâactivation dans la hiĂ©rarchie par dĂ©faut dâun contrĂŽleur CPUSET, concernant la prise en charge des Cgroups version 2âŻ; introduit il y a plus de dix ans, mais optionnel et laissĂ© Ă la discrĂ©tion des admins, il fait maintenant son apparition dans une configuration « de base », en options minimales â certaines de ses possibilitĂ©s pourraient Ă lâavenir migrer dans le contrĂŽleur Cgroup de mĂ©moire ou le contrĂŽleur Cgroup de processeurâŻ;
- lâajout dâune possibilitĂ© de configuration des informations affichĂ©es lors dâune panique, grĂące au nouveau panic_print.
Périphériques et pilotes
NVMe over Fabric
LâimplĂ©mentation du NVMe over Fabric (NVMe pour « mĂ©moire vive non volatile via bus PCI Express ») : concrĂštement il sâagit de sâaffranchir des limites du port PCI Express en termes de distance physique, et de mettre Ă disposition du systĂšme des NVMe lointains via les rĂ©seaux TCP/IP.
Audio
Du cÎté du son, dans le noyau, nouvelles prises en charge et améliorations habituelles dans la pile générique HD_AUDIO, ainsi que pas mal de boulot sur les systÚmes monopuces (SoC) présentés sur différents connecteurs, mais également une gestion préliminaire du AK4118 .
Pilotes de cartes graphiques
AMD et sa Radeon VII, semble bien ĂȘtre le meilleur choix pour les joueurs libristes et plus gĂ©nĂ©ralement de tous les joueurs sous GNU/Linux. Cette carte et son pilote libre amdgpu, accompagnĂ©e de MesaâŻ3D, accroche en performance une NVIDIA RTX 2080 avec son pilote propriĂ©taire. OKâŻ? OKâŻ!
AMD
- gestion du FreeSync, les frĂ©quences dynamiques de rafraĂźchissement dâĂ©cran (permettant dâĂ©viter certains effets visuels indĂ©sirables et aussi dâallĂ©ger la consommation), dans sa version « FreeSyncâŻ2 HDR », pour le pilote AMDGPU, et aussi un correctif, supprimant un petit bogue, acceptĂ© en toute derniĂšre minuteâŻ;
- la rĂ©initialisation du processeur graphique est fonctionnelle pour les CI, VI et Soc15, mais aussi sur les processeurs graphiques intĂ©grĂ©s aux cartes mĂšres (dGPU pour discrete GPU)âŻ; si un traitement atteint un dĂ©lai de grĂące, le processeur graphique peut ĂȘtre rĂ©initialisĂ©, sans autre problĂšmeâŻ;
- gestion pour lâespace utilisateur (via sysfs) de lâexposition des adresses mĂ©moire des pages dites « BO doorbells » (un lien explicatif, bien quâancien et nâayant pas de rapport direct avec cette nouvelle prise en charge, historique et intĂ©ressant Ă Â lire)âŻ;
- gestion de la DCC (Delta Color Compression) : jusquâĂ prĂ©sent ce nâĂ©tait pas manipulable en espace utilisateur, ce correctif lâactive et lâexpose Ă la fois pour la libdrm et lâAMDGPUDM, et ceci sans ajouter dâappels
ioctl()
supplĂ©mentaires, ce qui devrait impacter favorablement les performances et la gestion de lâĂ©nergieâŻ; - prise en charge des Vega 12 et Polaris 12 pour KFD (kernel fusion driver, issu de HSA/Compute)âŻ; dâautres Vega, dont Vega 20, arrivent au pas de charge â lire cet ancien commit pour en savoir plus, aussi sur la fusion de KFD dans AMDGPUâŻ;
- et quelques autres, dont une mise Ă jour de micrologiciels SMU pour quelques variantes des GFX9, la gestion du PowerPlay pour les nouvelles Polaris, ajout de lâidentifiant PCI pour les derniĂšres Vega M, mais aussi un raffinement correctif pour lâamorçage « seamless » (un « amorçage du systĂšme silencieux et parfait visuellement ») avec les processeurs graphiques intĂ©grĂ©s aux cartes mĂšres (dGPU).
Intel
- ajout de lâidentifiant PCI pour les derniĂšres Amber LakeâŻ;
- gestion des espaces colorimĂ©triques YCbCr 4:2:0 et 4:4:4 pour les puces LPSCon par le pilote i915 et ajout de la transmission des informations AVI (la spĂ©cification semble si compliquĂ©e que de nombreux vendeurs de puces LPSCon le font chacun Ă leur maniĂšre, nous avons donc lĂ Ă la fois un modĂšle gĂ©nĂ©rique et des subtilitĂ©s pour chaque marque de LPSCon)âŻ;
- et quelques autres petites amĂ©liorations, par exemple le mĂ©lange du plan Alpha, il pouvait y avoir des erreurs lors de lâusage dâune transparence totale ou a contrario dâune opacitĂ© totale.
NVIDIA et autres
De nombreuses autres cartes graphiques bĂ©nĂ©ficient dâamĂ©liorations. Nouveau ajoute le gestion initiale de la gestion des modes dâaffichage (modsetting) pour la nouvelle gĂ©nĂ©ration des NVIDIA Turing 104 et 106. Les NVIDIA Tegra 186 et 194 bĂ©nĂ©ficient maintenant de lâaudio via le port HDMI. Le Plan Alpha est intĂ©grĂ© aux Exynos. VMWGFX gĂšre maintenant la commutation de page (page flipping). Les Rockchips, MALI, Sun4Xi et Meson ne sont pas en reste.
Autres améliorations
- gestion de la compression de flux dynamique DSC (dynamic stream compression) des gĂ©nĂ©rations 10 et 11 des displays ports et external display ports, selon la norme VESA DP 1.4âŻ;
- prise en charge gĂ©nĂ©rique Ă un Ă©quivalent Ă ciâdessus, pour le port HDMI â voir ce commit initial.
RĂ©seau
Pas moins de 36 pilotes reçoivent des correctifs et amĂ©liorations. Une vĂ©ritable tempĂȘte. On notera particuliĂšrement parmi ceuxâci :
- cĂŽtĂ© professionnel, les Mellanox gĂ©rĂ©es par mlx5 (carte ConnectX de 5e gĂ©nĂ©ration) reçoivent seize amĂ©liorations : GRE, tunnels au travers de VLAN tc, amĂ©liorations du DEVX et de ses commandes spĂ©cifiques, implĂ©mentation de lâIBTA CapabilityMask2, etc. â notons que la configuration de ces cartes est aisĂ©e avec le paquet mstflint et sa commande
msfconfig
âŻ; - cĂŽtĂ© grand public, de nouvelles cartes sont dĂ©sormais gĂ©rĂ©es par
iwlwifi
 : les 9461, 9462, 9560 et la sĂ©rie dite killerâŻ; les Broadcom sont Ă©galement de la partie, avec pas moins de neuf amĂ©liorations recensĂ©es par votre serviteur, dont la 4354 pour le brcmfmac (dont il est souvent question de nos jours : câest fait)âŻ; - lâarrivĂ©e de lâautonĂ©gociation pour la 5G (et la 2,5G) pour le PHY.
Enfin, et ce nâest pas la moindre des amĂ©liorations, le protocole UDP reçoit le support du Generic Receive Offload (GRO), voir ce premier commit pour cette sĂ©rie. Le sujet est ancien et a connu sembleâtâil plusieurs propositions correctives. Cela impacte les performances du protocole UDP, dans un contexte gĂ©nĂ©ral dâaugmentation de la bande passante disponible et dâaugmentation de la puissance processeur, avec une MTU par dĂ©faut ancestrale et/mais une PMTU ne fonctionne pas dans la plupart des cas pour cause de rĂ©ponse ICMP plus ou moins autorisĂ©e ou traitĂ©e, et oĂč la segmentation en paquets devient parfois et malgrĂ© tout un goulot dâĂ©tranglement. GRO semble supĂ©rieur au couple LSOâLRO et est maintenant gĂ©rĂ© par de nombreuses cartes rĂ©seaux. ConcrĂštement, un ensemble de paquets UDP va traverser la pile en une seule unitĂ©, faisant ainsi une seule transaction pour lâespace utilisateur, et ceci sans modifier ni fusionner lesdits paquets UDP de lâensemble.
SystĂšmes de fichiers
BinderFS
On note lâarrivĂ©e de BinderFS, un pseudoâsystĂšme de fichiers dĂ©diĂ© pour lâIPC « binder » dâAndroid.
Binder est un dispositif ancien dans Android, et depuis Android O (Oreo, en 2017) toute la communication avec la HAL (hardware abstraction layer) et le cadriciel Android se fait avec lui, et des amĂ©liorations importantes ont Ă©tĂ© apportĂ©es, notamment avec lâutilisation des entrĂ©esâsorties vectorisĂ©es.
« Qui contrĂŽle lâIPC contrĂŽle le Droid ». Le problĂšme avec Binder est quâil nâexiste pas en tant que module pour le noyau vanilla (AOSP uniquement), dâune part, et dâautre part le nombre de devices disponibles est fixé⊠à la compilation. Lâobjectif de BinderFS sur Linux est de permettre lâutilisation de Binder dans des espaces de noms dâIPC (IPC namespace), donc de pouvoir en avoir plusieurs en mĂȘme temps, isolĂ©s les uns des autres, et de permettre lâallocation dynamique du nombre de devices disponibles.
Pour mĂ©moire, IPC namespace a apportĂ© la capacitĂ© dâutiliser des IPC (communications interâprocessus) Ă lâintĂ©rieur dâun espace de noms, donc de les isoler pour y proposer un nombre restreint et privĂ© dâobjets IPC. Le cas typique dâusage est lâutilisation de conteneurs. Chaque nouvel espace de noms dâIPC va ici pouvoir monter une nouvelle instance de BinderFS, disposant donc de son propre dispositif de contrĂŽle BinderâŻ! Avec tout ce que propose ce fameux /dev/binder-control
, isolĂ© et sans limite fixĂ©e sur le nombre de devices. Il est ainsi possible de lancer plusieurs couches Android simultanĂ©ment, sur un mĂȘme noyau et vanilla. Sans couche de virtualisation, juste comme ça. « Câest fouâŻ! » « Oui, mais vous aimez ».
Adiantum
Adiantum fait son apparition, il sâagit de chiffrement pour des appareils ne disposant pas des instructions AES (typiquement les tĂ©lĂ©phones que lâon trouve dans les pays dit Ă©mergents). Câest une bonne nouvelle pour nos amis lĂ âbasâŻ!
Btrfs
Btrfs dispose maintenant de la gestion de lâespace dâĂ©change mĂ©moire (swap), et non ce nâest pas une blague.
CIFS/SMB
Du cĂŽtĂ© de CIFS, câest lâarrivĂ©e du cache et du failover (basculement) pour le DFS (Distributed File System, systĂšme distribuĂ© de fichiers sous CIFS), permettant aux clients de se reconnecter de maniĂšre transparente Ă un autre serveur CIFS, servant le ou les mĂȘmes montages, si le premier serveur utilisĂ© nâest plus disponible. Pour mĂ©moire, il sâagit dâune des deux fonctions essentielles apportĂ©es par DFS, avec le balancement de charges entre serveurs. Le DFS (cĂŽtĂ©Â Windows) propose en plus une tambouille de liens symboliques pour prĂ©senter Ă lâexportation une autre racine que la racine rĂ©elle (rendant ainsi la vue cĂŽtĂ© client diffĂ©rente dâun client Ă un autre si lâadministrateur le veut). Et CIFS, dans ses attributs Ă©tendus (xattr), dispose (enfinâŻ?) dâun assemblage (compound), permettant ainsi de rĂ©duire la charge rĂ©seau (diminution des allerâretours dâinformations : on embarque tout dans une seule requĂȘte de plus grande taille) et dâamĂ©liorer les performances CIFS pour ce point.
AutoFS
Un changement qui devrait avoir toute votre attention concernant AutoFSÂ : le retour de lâoption strictexpire
. Elle rĂ©solvait un problĂšme lorsque les autoâmontages nâexpirent pas, par exemple avec des accĂšs « agressifs » (comprendre : normaux) par les clients. Ce correctif a ensuite Ă©tĂ© retirĂ© car il entrainait, dans de larges environnements avec de nombreux clients, de nombreuses requĂȘtes inutiles de montage donc une charge importante pour le serveur (quand les clients Ă©taient laissĂ©s en configuration par dĂ©faut avec une valeur par dĂ©faut pour le temps sans accĂšs avant dĂ©montage). Ce correctif marque le retour de cette option.
Virtualisation
CÎté Virtualisation on notera entre autres :
- lâarrivĂ©e de la fonction « Processor Trace » dâIntel dans KVM, pour ses machines virtuelles invitĂ©esâŻ; la gestion dâIPT date de plusieurs annĂ©es et permet de tracer lâactivitĂ© (dâune application, par exemple) sans surcoĂ»t pour les performances, elle est maintenant mise Ă disposition pour la virtualisationâŻ;
- pas mal dâamĂ©liorations pour VirtIO :
- prise en charge de la configuration du Large Receive Offload (LRO, approche similaire aux Jumbos Frames), lâajout de la gestion du discard (trim) sur le pilote virtio_blk et lâactivation lorsque le pĂ©riphĂ©rique dĂ©clare ces options,
- lâajout de la gestion lâEDID (petit binaire contenu dans chaque Ă©cran et envoyĂ© au systĂšme pour dĂ©clarer ses caractĂ©ristiques) pour le pilote virtio_gpu,
- la modification du cĂŽtĂ© de la synchronisation avec un descripteur de fichier sync_file renvoyĂ© Ă lâespace utilisateur, comprenant lâappel de fin de synchronisation reçuâŻ;
- lâajout du « dirty log reprotect » pour KVM : lâidĂ©e semble ĂȘtre de libĂ©rer le verrou mmu_lock le plus tĂŽt possible, pour cela le get_dirty_log nâenvoie plus de page protĂ©gĂ©e en Ă©criture, câest lâespace utilisateur qui se charge de nettoyer avant usage des nouvelles infos prĂ©sentĂ©es.
Statistiques
Nous vous invitons simplement Ă lire les informations collectĂ©es par Jonathan Corbet pour LWN.net pour la RC-7. LâEurope arrive largement en tĂȘte.
Autour du noyau
Du cĂŽtĂ© de la Fondation Linux, qui sâoccupe de bien dâautres choses que du noyau, les nouvelles les plus rĂ©centes sont :
- pas moins de 22 nouveaux membres rejoignent la FondationâŻ;
- le Projet ELISA, Enabling Linux In SAfety critical systems, est lancĂ©âŻ; un effort commun (BMW, Toyota, Linutroniks et KUKA viennent de rejoindre le projet) afin de simplifier le dĂ©veloppement dâapplications critiques (oĂč la vie humaine peut ĂȘtre en jeu) basĂ©es sur le noyau LinuxâŻ; le but nâest pas une nouveautĂ© en soi, il sâagit dâune nouvelle alliance ouverteâŻ;
- Automotive Grade Linux, autre alliance ouverte, publie une API pour la reconnaissance vocaleâŻ;
- lancement de lâAcademy Software Foundation par la Fondation Linux et lâ« Academy of Motion Picture Arts and Sciences », comprenant entre autres Animal Logic, Autodesk, Blue Sky Studios, Cisco, DNEG, DreamWorks Animation, Epic Games, Foundry, Google Cloud, Intel, SideFX, The Walt Disney Studios, et Weta Digital. Que du beau mondeâŻ? ;-)
Pour terminer
Un nouvel utilitaire permet la production dâun fichier configure_commands
au format JSON. Ă lâinstar de libtooling du projet Clang/LLVM et de ce que font des outils tels que CMake ou Bazel, cet utilitaire va chercher les <cibles>.o.cmd dans lâarborescence du noyau (contenant lâensemble des informations nĂ©cessaires Ă la compilation), en extrait ces commandes de compilation et produit un fichier en sortie unique compile_commands.json
qui pourra ĂȘtre utilisĂ© Ă loisir par tout outil basĂ© sur la libtooling. make config; make -j$(nproc); scripts/gen_compile_commands.py
.
Aller plus loin
- Le noyau, son site (200 clics)
- Le noyau, sa documentation (101 clics)
- Les noyaux précédents (138 clics)
- Annonce de sortie (82 clics)
# Pilotes de cartes graphique
PostĂ©Â par Ghorin . ĂvaluĂ©Â Ă Â 7.
Une petite question concernant l'extrait ci-dessus : est-ce que la comparaison est faite entre les drivers Open Source (amdgpu / nouveau) ou entre le driver Open Source amdgpu et le driver propriétaire nvidia ?
[^] # Re: Pilotes de cartes graphique
PostĂ©Â par bubarđŠ„ (Mastodon) . ĂvaluĂ©Â Ă Â 10. DerniĂšre modification le 04 mars 2019 Ă 21:27.
Oui la comparaison est faite entre une rtx 2080 avec son pilote propriétaire et une radeon VII avec son pilote libre. Oui ! :-)
[edit] pas dans toutes les situations : donc le verbe 'battre' remplacé par 'accrocher' à l'instant. Les performances du pilote libre sont tellement scotchantes qu'elles sont enivrantes. Et ajout de la précision de contexte : libre amd VS proprio nvidia. Merci !
[^] # Re: Pilotes de cartes graphique
PostĂ©Â par Zenitram (site web personnel) . ĂvaluĂ©Â Ă Â 1. DerniĂšre modification le 04 mars 2019 Ă 21:43.
Reste maintenant Ă choper une carte, il parait qu'il n'y aura que seulement 5000 heureux vu qu'il parait que pour arriver Ă Ă©galer le prix d'une nVidia 2080, AMD perd de l'argent (faut dire que balancer 16 GB de RAM, ça doit pas ĂȘtre donnĂ©, quelle idĂ©eâŠ) + la conso Ă©lectrique semble plus Ă©levĂ©e (~300 contre ~200 W Ă plein rĂ©gime).
Bref, potentiellement accrocheur si il n'y a pas bidouille pour avoir un prix du libre Ă©gal au prix de proprio Ă performance Ă©quivalente, sinon combien seriez-vous prĂȘt Ă mettre en plus Ă performance Ă©gale pour un pilote libre?
[^] # Re: Pilotes de cartes graphique
PostĂ©Â par Anonyme . ĂvaluĂ©Â Ă Â 4.
Clairement, vu la conception à base de HBM et la possibilité de faire du calcul en demi-précision (FP16), les cartes d'architecture Vega ne sont pas conçues pour le jeu mais pour le GPGPU.
C'est l'une des raisons de la différence de ratio performance/W en jeu face aux cartes moyen-haut de gamme Nvidia de série 1000 et 2000.
AprÚs ce sont des cartes bien plus faciles à bidouiller pour de l'overclocking par rapport aux cartes Nvidia Pascal et Turing : la conception de l'étage d'alimentation et de sa régulation sont beaucoup plus simples et moins contraignantes.
[^] # Re: Pilotes de cartes graphique
PostĂ©Â par Francois Revol (site web personnel) . ĂvaluĂ©Â Ă Â 10.
300WÂ ?
Mais moi j'ai juste besoin d'un framebuffer hein :D
[^] # Re: Pilotes de cartes graphique
PostĂ©Â par Nicolas Boulay (site web personnel) . ĂvaluĂ©Â Ă Â 10. DerniĂšre modification le 05 mars 2019 Ă 17:05.
Je mettrais un truc comme 100⏠de plus pour ne pas avoir de soucis avec le drivers 3D et des performances.
Je reste sur du pure Intel pour éviter les ennuis. J'ai eu tellement de soucis avec des trucs 3D qui plantent la machine complÚtement, les recompilations de module, ou les "accélérations" vidéo qui finissent en écran noir et autre, la retour de veille qui plante, le ventilo tout le temps à fond, la non gestion des 2 cartes présentes Intel/X, que je me méfie beaucoup. De plus, je n'ai aucunes idées des cartes qui sont actuellement un peu correctement supporté ou pas (en dehors de intel).
C'est dommage, car beaucoup de soft libre pourraient bĂ©nĂ©ficier des accĂ©lĂ©rations GPU (traitement d'image, browser, calcul scientifiqueâŠ).
"La premiÚre sécurité est la liberté"
[^] # Re: Pilotes de cartes graphique
PostĂ©Â par Anonyme . ĂvaluĂ©Â Ă Â 6.
Depuis quelques mois je teste le iGPU d'un Pentium G4560 et j'ai un plantage OOM systĂ©matiquement aprĂšs le visionnage de quelques grosses vidĂ©os dans Firefox. Certes c'est pas la faute de Intel vu que c'est un problĂšme que je ne rencontre qu'avec Firefox (et vu les commentaire en dessous sur OOMkiller c'est commun) mais ce bug ne m'arrive pas en installant sur ce mĂȘme matĂ©riel une carte graphique qui possĂšde sa mĂ©moire dĂ©diĂ©e.
Chez AMD, les cartes d'architecture Polaris (sĂ©ries Radeon RX400 et 500) sont trĂšs trĂšs bien supportĂ©es et c'est leur entrĂ©e-milieu de gamme. Les cartes Vega aussi apparemment. Par contre aucune idĂ©e pour leur gamme d'APU mais je suppose qu'il y aura le mĂȘme problĂšme de mĂ©moire que je rencontre avec FF sur les iGPU Intel.
Chez Nvidia, les cartes d'architecture Fermi et Kepler sont aussi hyper stables avec nouveau. Aucune idée pour les archi plus récentes mais le pilote ne supporte pas le frequency scalling et ces cartes restent à leur fréquence de base.
Sinon c'est con mais perso le pilote proprio de Nvidia ne m'a jamais posé de problÚmes hormis l'installation un peu pénible parfois.
[^] # Re: Pilotes de cartes graphique
PostĂ©Â par Nicolas Boulay (site web personnel) . ĂvaluĂ©Â Ă Â 2.
La veille fonctionne ? Quand est-il des versions portables ? Et des versions intégrés avec le gpu AMD ? Est-ce que la bascule gpu intel / carte externe fonctionne ? Est-ce que le ventilo sont géré ou tout le temps à fond ?
"La premiÚre sécurité est la liberté"
[^] # Re: Pilotes de cartes graphique
PostĂ©Â par ekyo . ĂvaluĂ©Â Ă Â 6.
J'ai une rx580 (polaris), avec le pilote libre amdgpu.
En veille la carte consomme un peu plus de 30w, le frequency scaling fonctionne trĂšs bien, tu peux mĂȘme le gĂ©rer par toi mĂȘme en fixant les paliers, la vitesse des ventilos est aussi gĂ©rable manuellement (echo 1 dans /sys/class/drm/card0/device/hwmon/hwmon0/pwm1_enable puis tu fixe la vitesse dans /sys/class/drm/card0/device/hwmon/hwmon0/pwm1), je me suis fait un script bash qui rĂ©gule leur vitesse en fonction de la charge de la carte et de sa tempĂ©rature.
Il est possible (et recommandé) d'abaisser sa tension de fonctionnement, la carte chauffe et consomme beaucoup moins.
Enfin concernant ses performances, rien Ă dire pour mes besoins c'est parfait. Tu trouveras plein de graphs et de benchs sur phoronix.
On trouve cette carte à 200 euros neuve environ, et si tu attends un peu la sortie de la nouvelle gen d'amd (navi), ça sera encore moins cher j'imagine.
[^] # Re: Pilotes de cartes graphique
PostĂ©Â par Ant . ĂvaluĂ©Â Ă Â 3.
ça m'intéresse ! j'ai une rx480, peu bruyante et qui ne chauffe pas spécialement, mais je suis preneur du script, s'il y a moyen de le récupérer.
[^] # Re: Pilotes de cartes graphique
PostĂ©Â par RaphaĂ«l G. (site web personnel) . ĂvaluĂ©Â Ă Â -1.
J'ai une MSI vega rx 64 depuis sa sortie sur un FX8370E. J'ai du attendre que le pilote soit inclus par défaut dans le noyau pour que ça marche directement sur ma Mageia, soit kernel linux 4.15 de mémoire.
Au niveau bruit, tout ça je sais pas trop, j'ai collĂ© un watercooling dessus (D5/360). Sous linux ça chauffe jamais vraiment, la pompe et les ventilateurs en pwm restent au minimum mĂȘme en regardant des vidĂ©os sur smplayer/chrome. Idem en code.
Faudrait que je teste la montée en température quand X4 foundations sera disponible.
Sous plateforme propriétaire ça change, en jeu un peu de cold noise des condensateurs céramique qui vibrent et ça se transforme en bon chauffage sur le jeu.
Jamais eu vraiment de bugs majeurs, trĂšs content de cette carte sous linux.
Avant j'avais eu une 6870, ça avait marché directement quand je l'ai eu. Au début il y avait un script de phoronix pour patcher le binaire pour enlever un tatouage "carte non supportée" sur le rendu à l'écran. Tout marchait parfaitement en dehors de ça.
Bref, aucun regret de fendre la tirelire pour prendre des cartes graphiques et processeurs chez amd qui a vraiment fait l'effort de faire marcher leurs produits sous linux avec du driver libre !
[^] # Re: Pilotes de cartes graphique
PostĂ©Â par Anonyme . ĂvaluĂ©Â Ă Â 3.
Ce n'est pas du tout une question de condensateurs et ça n'a pas vraiment d'incidence sur les pertes joules.
Le coil whine est dĂ» aux inductances des VRM. C'est le mĂȘme phĂ©nomĂšne de rĂ©sonnance que lorsqu'une alimentation bourdonne (d'oĂč des bobines noyĂ©es dans la cire ou la colle pour contrer cet effet) sauf que les inductances utilisĂ©es sur les cartes graphiques ont un design particulier (ayant un trĂšs fort courant max, une faible rĂ©sistance et le tout dans un petit boitier) qui malheureusement favorise cette vibration.
[^] # Re: Pilotes de cartes graphique
PostĂ©Â par bubarđŠ„ (Mastodon) . ĂvaluĂ©Â Ă Â 4.
Ah ouhĂ©Â ? Cette info ne doit dĂ©jĂ plus ĂȘtre Ă jour car les livraisons des diffĂ©rents vendeurs sont disponibles, les tarifs vont de 750 Ă 850⏠TVA inclue. Dans toutes les boutiques : elles sont disponibles, et aux prix annoncĂ©s.
# Oué, du BeOS dans Linux \o/
PostĂ©Â par Francois Revol (site web personnel) . ĂvaluĂ©Â Ă Â 10.
OuĂ©, parce que le Binder vient de BeOS, mĂȘme s'il a trĂšs peu Ă©tĂ© utilisĂ©, c'Ă©tait une expĂ©rimentation assez tardive :
https://en.wikipedia.org/wiki/OpenBinder
# 2.0.34 mon premier kernel - et chromebook
PostĂ©Â par toctoc1 . ĂvaluĂ©Â Ă Â 6.
Que de chemin parcouru depuis mon premier 2.0.34 sur la mandrake 5.1⊠\o/
Bon, sinon, sur mon chromebook asus C301, c'est toujours un 4.15 qui tourne alors mĂȘme que les kernels suivant ont promis des amĂ©liorations notables pour ces configurations type Terra.
Impossible de booter autre chose que le kernel tuné de chez GalliumOS, distribution aujourd'hui figée depuis 18 mois faut de dev disponible.
Longue vie Ă ce kernel 5! (et merci pour la dĂ©pĂȘche, trĂšs intĂ©ressante comme toujours).
[^] # Re: 2.0.34 mon premier kernel - et chromebook
PostĂ©Â par Pyscal . ĂvaluĂ©Â Ă Â 4.
mon mien boote avec d'autres distribs, mais le gros problĂšme c'est le clavier qui n'est pas supportĂ©, mĂȘme aprĂšs quelques modifs rĂ©alisĂ©es Ă l'aide d'un clavier usb :-(
au passage, le clavier fonctionne encore sans problĂšme avec Grub juste avant le chargement du kernelâŠÂ ;-)
elementaryOS fonctionne aussi out-of-box, et elle continue de tourner dessus comme un charme :-)
cÎté kernel, c'est vrai, beaucoup de chemin parcouru et beaucoup de bon travail abattu : merci à tous ceux qui y contribuent de prÚs comme de loin !
et comme d'hab, belle dĂ©pĂȘche : merci !
# Du cÎté des RISC-V le support pour l'audit est là .
PostĂ©Â par martoni (site web personnel, Mastodon) . ĂvaluĂ©Â Ă Â 7. DerniĂšre modification le 05 mars 2019 Ă 09:08.
RISC est juste un type d'architecture de processeur, une philosophie consistant à réduire le nombre d'instructions et à les simplifier. ARM et MIPS sont des RISC par exemple.
Par contre Risc-V (nommé riscv dans le kernel, se prononce risque failleve) est un nouveau jeux d'instructions de type RISC qui est désormais disponible dans le noyau Linux et supporté officiellement.
Risc-V est la révolution libre des processeurs ;)
J'ai plus qu'une balle
[^] # Re: Du cÎté des RISC-V le support pour l'audit est là .
PostĂ©Â par martoni (site web personnel, Mastodon) . ĂvaluĂ©Â Ă Â 2. DerniĂšre modification le 05 mars 2019 Ă 14:26.
Du coup si un admin peut corriger la dĂ©pĂȘche ça serait sympa.
J'ai plus qu'une balle
[^] # Re: Du cÎté des RISC-V le support pour l'audit est là .
PostĂ©Â par bubarđŠ„ (Mastodon) . ĂvaluĂ©Â Ă Â 6. DerniĂšre modification le 05 mars 2019 Ă 18:09.
Bien conscient d'avoir laissĂ© de cĂŽtĂ© cette arch dans la dĂ©pĂȘche. Merci pour ta remarque c'est pris en compte pour la prochaine d'en parler plus.
Ps : V ajouté.
[^] # Re: Du cÎté des RISC-V le support pour l'audit est là .
PostĂ©Â par Anonyme . ĂvaluĂ©Â Ă Â 7.
Tant qu'à faire, on pourrait aussi parler un peu plus de MIPS qui en réaction à l'engouement pour RISC-V a décidé de libérer son architecture.
C'est un peu plus intelligent que la réaction désespérée d'ARM Holdings avec leur site web de désinformation qui a tenu trois jours aprÚs le tollé médiatique.
# Comment fonctionne "OOM Killer" et la gestion de la saturation du processeur et de la mémoire ?
PostĂ©Â par lejocelyn (site web personnel) . ĂvaluĂ©Â Ă Â 10.
Je me demande bien comment fonctionne la gestion des processus qui saturent le processeur ou la mĂ©moire. De mon cĂŽtĂ©, il ne met jamais arrivĂ© qu'un processus qui sature mon processeur ou ma mĂ©moire soit tuĂ© par mon systĂšme d'exploitation. Alors que cela m'arrive rĂ©guliĂšrement depuis des annĂ©es. Par exemple, il arrive que certaines pages fassent que Firefox rĂ©clame tout mon CPU et ma mĂ©moire. Au bout d'un moment, mon ordinateur se bloque et n'est plus utilisable. MĂȘme en attendant des heures (et ça ne doit vraiment pas ĂȘtre bon pour le processeur vu comment il moulineâŠ), le processus n'est pas tuĂ© par Linux. J'imagine qu'il s'agit d'un combo de bugs: Firefox qui ne gĂšre pas correctement un jeu en HTML5 et Linux qui ne parvient pas Ă tuer un processus.
Est-ce qu'il y a quelque chose à faire pour faire en sorte que Linux tue plus facilement le ou les processus liés à Firefox ? (sur une Fedora 29 si cela a de l'importance)
[^] # Re: Comment fonctionne "OOM Killer" et la gestion de la saturation du processeur et de la mémoire ?
PostĂ©Â par MTux . ĂvaluĂ©Â Ă Â 4.
Tu as de la swap ?
[^] # Re: Comment fonctionne "OOM Killer" et la gestion de la saturation du processeur et de la mémoire ?
PostĂ©Â par lejocelyn (site web personnel) . ĂvaluĂ©Â Ă Â 1.
Oui.
[^] # Re: Comment fonctionne "OOM Killer" et la gestion de la saturation du processeur et de la mémoire ?
PostĂ©Â par Aris Adamantiadis (site web personnel) . ĂvaluĂ©Â Ă Â 6.
La swap a tendance à aggraver le problÚme, parce que le noyau fera tout ce qu'il peut pour éviter de tuer un process, quitte à rendre le systÚme inutilisable tellement il swappe. Par principe je n'active de la swap que si je sais qu'une tùche particuliÚre nécessite plus de ram virtuelle que ce qu'en possÚde la machine (par ex vieux laptops ou machines virtuelles low cost).
[^] # Re: Comment fonctionne "OOM Killer" et la gestion de la saturation du processeur et de la mémoire ?
PostĂ©Â par kna . ĂvaluĂ©Â Ă Â 10.
C'est pas si simple : https://chrisdown.name/2018/01/02/in-defence-of-swap.html
[^] # Re: Comment fonctionne "OOM Killer" et la gestion de la saturation du processeur et de la mémoire ?
PostĂ©Â par paulez (site web personnel) . ĂvaluĂ©Â Ă Â 9. DerniĂšre modification le 05 mars 2019 Ă 18:28.
OOM killer entre en action quand un processus essaie d'allouer de la mémoire mais qu'il n'y en a plus de disponible (en gros). C'est uniquement lié à la gestion de la mémoire. Donc si tu as un processus qui utilise tout ton CPU en permanence aucun mécanisme n'existe pour le tuer.
C'est logique d'ailleurs car il y a tout un tas d'application ou un processus va toujours utiliser beaucoup de temps processeur, par exemple sur un serveur chargé, une station de calcul, quelqu'un qui mine de la cryptomonnaie, etc.
Pour empĂȘcher qu'un processus utilise en permanence tout le temps processeur sur ta machine tu peux essayer de jouer avec les cgroups pour limiter l'effet.
[^] # Re: Comment fonctionne "OOM Killer" et la gestion de la saturation du processeur et de la mémoire ?
PostĂ©Â par Arthur Accroc . ĂvaluĂ©Â Ă Â 8.
Quand on a que ce problĂšme-lĂ , on ne perd pas la main.
Quand on nâarrive plus Ă reprendre la main sur le systĂšme, câest parce quâil swappe Ă mort. Jâai parfois le mĂȘme cas que lejocelyn sur une bĂ©cane qui nâa que 4 Go.
Il fut pourtant un temps oĂč ça ne faisait pas ça. Je me demande si câest Linux qui gĂšre moins bien le coup, ou les conditions qui se sont dĂ©gradĂ©es : un seul processus, celui du navigateur (quel quâil soitâŻ; jâai essayĂ© avec plusieurs, quand certaines pages pourries font exploser leur consommation de ressources, jâen arrive toujours Ă la mĂȘme situation), qui bouffe plus que la mĂ©moire physique Ă lui tout seul, alors quâĂ lâĂ©poque, câĂ©tait seulement lâensemble des processus qui dĂ©passait.
Jâai essayĂ© plus ou moins de swap, sans rĂ©ussir Ă Ă©viter complĂštement la situation (mieux vaut quand mĂȘme quâil nây en ait pas trop, mais si on veut pouvoir mettre le systĂšme en hibernation, il en faut malheureusement au moins autant que de mĂ©moire physique).
MĂȘme sans swap du tout, comme le fait remarquer Chris Down au point 6 dans le lien postĂ© plus haut par kna, le manque de buffer fait Ă©crouler les performances en Ă©criture de fichiers et la situation est similaire. Tout au plus le manque de mĂ©moire dĂ©clenche-t-il lâOOM killer plus tĂŽt.
Jâai bien trouvĂ© une solution pour Ă©viter cette situation : lancer le navigateur avec
ulimit -v
une taille plus petite que la mémoire physique (genreulimit -v 3000000 firefox &
), mais ça se traduit, au moins pour Firefox, par un plantage trĂšs sale quand il nâa plus de mĂ©moire. Pas idĂ©al si lâon est en train de faire quelque chose dâimportant avec (et comme il y a de plus en plus de choses quâon fait sur le web)âŠÂ«âŻLe fascisme câest la gangrĂšne, Ă Santiago comme Ă Paris.âŻÂ» â Renaud, Hexagone
[^] # Re: Comment fonctionne "OOM Killer" et la gestion de la saturation du processeur et de la mémoire ?
PostĂ©Â par barmic . ĂvaluĂ©Â Ă Â 3.
J'ai une machine qui n'a que 2Gio de DDR2 et je n'ai jamais eu ce comportement. Ce n'est pas toujours confort, surtout quand on a l'habitude de machine qui ont 16Gio. J'ai rien configurĂ© de particulier. Juste pour que ce soit plus confortable j'ai arrĂȘtĂ© d'utiliser un webmail au profit d'un MUA natif, mais mĂȘme sans ça je n'ai pas eu de plantage comme vous en parlez.
Vous avez passé un coup de memcheck quelques heures pour vérifier qu'il n'y a pas de problÚme matériel�
[^] # Re: Comment fonctionne "OOM Killer" et la gestion de la saturation du processeur et de la mémoire ?
PostĂ©Â par Arthur Accroc . ĂvaluĂ©Â Ă Â 5.
Jâai pas mal dâonglets ouverts, genre plus de 70 avec chromium, qui nâest pas mon navigateur principal (lâextension Lazy Tabs Ă©vite quâil consomme directement la mĂ©moire Ă lui tout seul), beaucoup plus avec Firefox (configurĂ© aussi pour ne pas charger les onglets avant quâon y accĂšdeâŻ; pas besoin dâextension, câest dans les prĂ©fĂ©rences). MĂȘme sans que les onglets soient chargĂ©s, ça fait une certaine consommation Ă la base. Jâai aussi Thunderbird qui consomme une bonne quantitĂ© de mĂ©moire, du fait de pas mal de comptes et de mails dedans. Ă certains moments, il monte beaucoup en consommation, avant de se dĂ©cider Ă redescendre Ă un niveau plus raisonnable au bout dâun certain temps (je suppose quâil lance un garbage collector).
Le problĂšme arrive si jâai le malheur de charger en mĂȘme temps plus de trois ou quatre pages/applications qui consomment beaucoup de mĂ©moire et augmentent constamment leur consommation, du genre de Google Street View, ou pire une ou deux comme ça et un site complĂštement boguĂ©, dont un script a manifestement une fuite mĂ©moire colossale (sâil ne bouffait que du CPU, on pourrait encore soupçonner quâil fait du minage de cryptomonnaie, mais avec une consommation mĂ©moire dĂ©lirante, ce serait se tirer une balle dans le pied). Parce que dans le premier cas, quand la consommation mĂ©moire nâaugmente pas trop vite, je vois Ă la jauge mĂ©moire que je me dirige vers un problĂšme et je relance le navigateur avant (Ă une Ă©poque, jâutilisais une extension pour dĂ©charger les onglets sur Firefox, mais elle ne fonctionne plus et je nâen ai pas encore cherchĂ© dâautreâŻ; qui plus est, mĂȘme quand on ferme carrĂ©ment des onglets qui consomment beaucoup, Firefox ne rend pas forcĂ©ment la mĂ©moire pour autant). Mais quand câest trop rapide, je nâai pas forcĂ©ment le temps. Souvent les scripts contenus dans les pages web sont dâune «âŻqualitĂ©âŻÂ» quâon nâaccepterait pas pour un logiciel natif.
Noscript Ă©vite que ça mâarrive souvent, mais il arrive vraiment que je veuille voir certaines pages qui nâaffichent rien sans autoriser les scripts, et parfois une mauvaise conjonction de pages lourdes ou pourries fait partir le navigateur complĂštement en sucette.
«âŻLe fascisme câest la gangrĂšne, Ă Santiago comme Ă Paris.âŻÂ» â Renaud, Hexagone
[^] # Re: Comment fonctionne "OOM Killer" et la gestion de la saturation du processeur et de la mémoire ?
PostĂ©Â par barmic . ĂvaluĂ©Â Ă Â 3.
C'est Ă©norme⊠Le fait que les navigateurs se dĂ©coupent maintenant en thread systĂšme doit aider, mais c'est pas magique non plus. Linux ne peux pas beaucoup t'aider tel quel. Mais je pense que si tu utilise diffĂ©rentes instances de navigateurs pour sĂ©parer tes onglets les plus lourds linux pourra avoir un meilleur scheduling et mieux sĂ©parer les ressources. L'Ă©tape suivante, si nĂ©cessaire, Ă©tant de lancer ces instances dans des cgroups distincts. Ăa n'est pas forcĂ©ment trĂšs compliquĂ©, mais tu peux probablement fortement amĂ©liorer l'utilisabilitĂ© de ton installation.
[^] # Re: Comment fonctionne "OOM Killer" et la gestion de la saturation du processeur et de la mémoire ?
PostĂ©Â par xcomcmdr . ĂvaluĂ©Â Ă Â -1. DerniĂšre modification le 06 mars 2019 Ă 16:12.
"J'ai 70 onglets, mais c'est la faute au swap / Ă linux / au kernel / Ă l'OOM Killer."
Euhhh⊠Comment direâŠ
"Quand certains rĂąlent contre systemd, d'autres s'attaquent aux vrais problĂšmes." (merci Sinma !)
[^] # Re: Comment fonctionne "OOM Killer" et la gestion de la saturation du processeur et de la mémoire ?
PostĂ©Â par Arthur Accroc . ĂvaluĂ©Â Ă Â 2.
Ils ne sont pas tous chargĂ©s. Et je ne mâĂ©tonne pas de la mĂ©moire que ça consomme.
Mais il fut une Ă©poque oĂč quand la machine commençait Ă trop swapper, on avait encore suffisamment la main pour fermer une ou deux applications, ça ne sâĂ©croulait pas dâun coup.
Mais câest peut-ĂȘtre dĂ» Ă la nature des applications : un certain nombre dâonglets qui turbinent Ă fond accĂšdent sĂ»rement plus Ă leur mĂ©moire quâun traitement de texte dans lequel tu as chargĂ© un trĂšs gros document : quand tu travailles sur la fin, il nâa pas besoin dâaccĂ©der au dĂ©but, donc sâil est dans le swap, ça aura peu dâimpact.
Ou peut-ĂȘtre Ă lâaugmentation des tailles mĂ©moires en jeu par rapport au temps dâaccĂšs au disque dur qui nâa pas autant progressĂ©. Câest sĂ»r que le swap fonctionne certainement mieux sur un SSD, si ce nâest que ça nâarrangera pas le SSD Ă terme.
«âŻLe fascisme câest la gangrĂšne, Ă Santiago comme Ă Paris.âŻÂ» â Renaud, Hexagone
[^] # Re: Comment fonctionne "OOM Killer" et la gestion de la saturation du processeur et de la mémoire ?
PostĂ©Â par Faya . ĂvaluĂ©Â Ă Â 4.
J'ai eu exactement le mĂȘme soucis, j'ai postĂ© 1 ou 2 fois ici et sur le forum on m'avait conseillĂ© limits.conf et les cgroups. J'avoue n'avoir pas testĂ© car depuis j'ai pris une simple habitude : je ferme le navigateur Ă la fin de la journĂ©e. Le lendemain je le rouvre et il ne charge que le 1er onglet de chaque fenĂȘtre donc la consommation reste acceptable.
On m'a aussi fait comprendre que mes onglets utilisaient une quantitĂ© de RAM "dĂ©lirante" (Firefox + Thunderbird me bouffent 6 sur 8go) mais Ă ce niveau je n'ai pas vraiment de moyen d'actionâŠ
Et comme toi je fais le constat que ce problĂšme est relativement rĂ©cent. 1 ou 2 ans grand maximum, pourtant j'ai toujours eu des dizaines d'onglets ouverts. Donc soit le web est devenu ingĂ©rable Ă cause des des frameworks JS front, soit y'a un soucis dans Firefox, ou le noyau, ou les troisâŠ
[^] # Re: Comment fonctionne "OOM Killer" et la gestion de la saturation du processeur et de la mémoire ?
PostĂ©Â par Arthur Accroc . ĂvaluĂ©Â Ă Â 5.
Du cĂŽtĂ© de Chromium, autant en standard il est calamiteux en chargeant tous les onglets, autant il devient bien plus intĂ©ressant avec lâextension Lazy Tabs :
â il ne charge plus tous les onglets immĂ©diatement, mais seulement quand on les cliqueâŻ;
â quand on clique sur lâicĂŽne, cela dĂ©charge les autres onglets que le courant.
Quand on a ouvert par exemple des services Google, comme Google Maps ou Youtube, dĂ©charger leurs onglets libĂšre instantanĂ©ment une grosse quantitĂ© de mĂ©moire (ce qui nâest pas forcĂ©ment le cas avec Firefox, soit quâil tarde Ă faire passer son garbage collector, soit quâil prĂ©fĂšre conserver la mĂ©moire dans la perspective de la rĂ©utiliser plus tard).
Je ne dis pas cependant que Chromium consomme moins que Firefox Ă utilisation identique. Je ne peux mĂȘme pas en avoir une utilisation identique : aprĂšs un certain nombre dâonglets (atteint plus vite sur lâĂ©cran de mon portable du fait de sa faible dĂ©finition), les onglets les plus Ă droite ne sont plus visiblesâŠ
Pour les navigateurs, la consommation mĂ©moire est clairement liĂ©e aux sites. En termes de charge mĂ©moire comme CPU, Google Maps, par exemple, est vraiment beaucoup plus lourd que les anciennes versions. Le mot qui mâest venu Ă lâesprit lors de son changement de version le plus marquant a Ă©tĂ© «âŻsabotageâŻÂ». Fermer ou dĂ©charger les onglets de ce genre de sites sous Chromium permet bien de se rendre compte de leur consommation mĂ©moire.
Pour le fait que quand on a atteint la limite de la mĂ©moire physique, le systĂšme sâĂ©croule dâun coup au lieu de juste se ralentir et quâon ait encore suffisamment la main pour fermer sereinement des applications, jâaimerais bien avoir lâexplicationâŠ
«âŻLe fascisme câest la gangrĂšne, Ă Santiago comme Ă Paris.âŻÂ» â Renaud, Hexagone
[^] # Re: Comment fonctionne "OOM Killer" et la gestion de la saturation du processeur et de la mémoire ?
PostĂ©Â par lejocelyn (site web personnel) . ĂvaluĂ©Â Ă Â 1.
Merci pour ces réponses, ça éclaire un peu ma petite lanterne :)
En ce qui concerne memcheck, oui c'est fait, et il ne détecte pas de problÚme.
Je vais essayer la combinaison de touches Magic SysRq proposer par Arthur Accroc plus bas.
[^] # Magic SysRq
PostĂ©Â par Arthur Accroc . ĂvaluĂ©Â Ă Â 7.
Il y a une combinaison de touches pour dĂ©clencher lâOOM Killer : Alt+SysRq+f⊠à condition que la prise en charge de ces combinaisons ne soit pas dĂ©sactivĂ©e, ce qui est souvent le cas par dĂ©faut (voir le lien prĂ©cĂ©dent pour lâactiver).
Il fut une Ă©poque oĂč ça marchait Ă tous les coups pour moi dans un cas semblable : il supprimait toujours le navigateur du premier coup (si jâavais un autre logiciel qui partait en sucette comme le navigateur Ă cause de certaines pages pourries, je ne le garderais pas).
Les derniĂšres fois, ça nâa pas eu trop lâair de fonctionner, je ne sais pas si câest parce que ça sâest encore dĂ©sactivĂ© ou parce que lâalgorithme prĂ©fĂšre maintenant supprimer des processus peut-ĂȘtre moins utilisĂ©s, mais pas Ă lâorigine du problĂšme.
«âŻLe fascisme câest la gangrĂšne, Ă Santiago comme Ă Paris.âŻÂ» â Renaud, Hexagone
[^] # Re: Magic SysRq
PostĂ©Â par Anonyme . ĂvaluĂ©Â Ă Â 2.
Jâai le mĂȘme soucis que dĂ©crit ici : parfois Firefox consomme tellement que le systĂšme devient inutilisable et il nây a plus quâĂ reboot (et je nâai pas de swap).
Un truc que jâai remarquĂ© depuis quelque semaines câest que lâOMM killer va parfois tuer le process
WebExtension
de Firefox. Parfois ça rĂ©sout le soucis de freeze du laptop, mais Firefox est inutilisable (tu peux mĂȘme plus le Ctrl-Q).[^] # Re: Magic SysRq
PostĂ©Â par collinm (site web personnel) . ĂvaluĂ©Â Ă Â 3.
j'ai 32 gig de ram sur mon laptop et ça arrive que firefox freeze⊠je suis obligé de le tuer⊠je vérifierais la prochaine fois si c'est à cause de la ram.
www.solutions-norenda.com
[^] # Re: Magic SysRq
PostĂ©Â par gpe . ĂvaluĂ©Â Ă Â 1.
Bizarre, j'ai Firefox ouvert en permanence avec une dizaine d'onglets sur une machine que je n'arrĂȘte quasiment jamais (en gros arrĂȘt seulement quand y a une mise Ă jour kernel) et FF consomme seulement 400/500 Mo et je n'ai jamais eu de freeze âŠ
# 5.0.1
PostĂ©Â par bubarđŠ„ (Mastodon) . ĂvaluĂ©Â Ă Â 4.
Hello,
Une version mineure, la 5.0.1, a été publiée ce matin. Elle inclut une cinquantaine de correctifs, dont celui-ci, le premier sur la liste du changelog : «une fuite de mémoire dans
kernel_read_file
», ainsi que des correctifs pour le bluetooth, des patch pour EroFS (SystÚme de Fichier en lecture seule avec des possibilités de compression/décompression, plutÎt dédié à Android). En bref, on télécharge ce 5.0.1Suivre le flux des commentaires
Note : les commentaires appartiennent Ă celles et ceux qui les ont postĂ©s. Nous nâen sommes pas responsables.