Aller au contenu principal
Messages récents
91
Configuration avancée / OOM Killer c'est quoi ?
Dernier message par Yoman -
Comprendre et Gérer le "Out of Memory" (OOM) dans Linux

I. Concept de l'OOM dans Linux

1. Définition de l'OOM Killer
   • Mécanisme intégré au noyau Linux
   • Intervient lors d'un manque critique de mémoire (RAM ou swap)
   • Sélectionne et termine des processus pour libérer de la mémoire

2. Pourquoi l'OOM se produit-il ?
   • Linux utilise un modèle de surallocation de mémoire
   • Le noyau peut allouer plus de mémoire que disponible physiquement
   • Fonctionne bien car les applications n'utilisent pas toujours toute la mémoire demandée
   • Problème survient quand plusieurs applications utilisent toute leur mémoire allouée

II. Fonctionnement de l'OOM Killer

1. Processus de sélection automatique
   • Le noyau détecte une situation de mémoire critique
   • Évalue tous les processus en cours d'exécution
   • Attribue un score (oom_score) à chaque processus
   • Termine automatiquement le processus avec le score le plus élevé

2. Calcul du score OOM
   • Basé principalement sur l'utilisation de la mémoire
   • Tient compte d'autres facteurs (temps d'exécution, privilèges, etc.)

3. Paramètres dans linux pouvant gérer OOM
  • vm.overcommit_memory
  • vm.oom_kill_allocating_task 
  • kernel.shmmax  
  • kernel.shmall 
  • vm.min_free_kbytes 

III. Applications et outils pour gérer l'OOM

   ✅ À privilégier :
   • earlyoom : Tue les processus avant l'intervention de l'OOM Killer du noyau
   • systemd-oomd : Gestion OOM plus fine via systemd
   • cgroups v2 : Gestion granulaire des ressources, incluant la mémoire

   ⚠️ À tester :
   • nohang : Alternative à earlyoom avec fonctionnalités supplémentaires
   • oomd : Démon OOM de Facebook, puissant mais complexe
   • zram : Compression de la mémoire en RAM, retarde l'OOM

   ❌ À éviter :
   • Désactiver complètement l'OOM Killer
   • Régler vm.overcommit_memory à 2

IV. Pourquoi utiliser des applications tierces pour gérer l'OOM ?

Bien que Linux dispose d'un mécanisme OOM intégré, il existe plusieurs raisons d'utiliser des applications tierces :

1. Intervention précoce
2. Personnalisation avancée
3. Priorisation intelligente
4. Notifications et journalisation :
5. Gestion proactive
6. Adaptation aux environnements spécifiques
7. Réactivité améliorée

V. Bonnes pratiques

1. Surveiller régulièrement l'utilisation de la mémoire
2. Optimiser les applications pour une meilleure gestion de la mémoire
3. Utiliser des outils comme earlyoom pour une intervention précoce
4. Ajuster les scores OOM des processus critiques
5. Considérer l'augmentation de la RAM ou du swap si les OOM sont fréquents

Conclusion
Comprendre et gérer efficacement l'OOM est crucial pour maintenir la stabilité et les performances des systèmes Linux. Bien que le noyau Linux offre une gestion de base de l'OOM, l'utilisation d'outils tiers peut apporter une flexibilité et une efficacité supplémentaires, particulièrement dans des environnements complexes ou avec des exigences spécifiques.

Sources :
forum opensuse tw
wikipedia OOM

A. Un peu de pratique
   a. Trouver le PID du processus :
     
pidof [nom_du_processus]
   b. Vérifier le score OOM :
     
cat /proc/[PID]/oom_score
   c. Voir le score ajusté :
     
cat /proc/[PID]/oom_score_adj

III. Gestion de l'OOM

1. Ajuster le comportement de l'OOM Killer
   • Modifier oom_score_adj :
echo [valeur] > /proc/[PID]/oom_score_adj
   • Valeurs entre -1000 et 1000
   • Plus la valeur est basse, moins le processus risque d'être tué
92
Configuration avancée / "earlyoom" : Le gardien de la Mémoire
Dernier message par Yoman -
Ce scénario réaliste illustre comment j'ai pu éviter le blocage de TW dans une situation d'utilisation intensive (OOM).
La combinaison de la RAM physique, zram, du swap traditionnel, et d'earlyoom m'a permis de :

1. Exécuter simultanément des applications gourmandes en mémoire (VM, Kodi en 4K).
2. Maintenir une navigation web fluide avec certains onglets.
3. Effectuer des tâches système lourdes (mises à jour) sans compromettre la stabilité.
4. Éviter les blocages système et les pertes de données potentielles.

Photographie des mémoires activées :
• 12 Go de RAM physique
• 19 Go de swap total (incluant zram)
• zram activé
• earlyoom installé et configuré
sysctl :
* m.swappiness = 10
* vm.vfs_cache_pressure = 50
* vm.dirty_ratio = 10
* vm.dirty_background_ratio = 5

Scénario : J'utilise mon OS openSUSE Tumbleweed pour diverses tâches.

Situation Générale :

• Multimédia
• Navigateur web avec 5 - 10 onglets
• 2 instances de terminal (monitoring, maj, téléchargement iso..)
• Applications récurrente Kvm , OnflyOffice

Total utilisé : environ 6-7 Go de RAM physique

Le Scénario progressif :

1. Phase 1 : Ouverture de mon navigateur
• Utilisation de RAM : ~2 Go / 12 Go
• Le swap et zram ne sont pas encore sollicités.

2. Phase 2 : Lancement de KVM
• La VM Lite Linux est allouée avec 4 Go de RAM.
• Utilisation de RAM : ~6 Go / 12 Go
• zram commence à être légèrement utilisé pour les pages moins actives.

3. Phase 3 : Youtube adrien linuxtricks et  Kodi ouvert film training day en pause
• Youtube / Kodi ~2 Go.
• Utilisation de RAM : ~8 Go / 12 Go
• zram est modérément utilisé, offrant un espace de swap rapide en mémoire.

4. Phase 4 : ouverture 5-7 onglets en plus
• La consommation des onglets supplémentaires ~3 Go.
• Utilisation de RAM : ~11 Go / 12 Go
• zram est fortement sollicité, compressant les pages mémoire moins utilisées.

5. Phase 5 : Terminal MAJ + reprise film training day sur kodi
• Les processus de mise à jour consomment ~1 Go supplémentaire.
• La RAM physique est presque entièrement utilisée.
• Le système commence à utiliser le swap sur disque en plus de zram.
earlyoom détecte que la mémoire disponible approche du seuil critique (5%).
• Une notification d'avertissement est envoyée.

6. Phase 6 : Intervention d'earlyoom
Je constate que mon navigateur et  moins réactif et que Kodi active la mise en cache du film.
• La mémoire disponible atteint le seuil critique.
earlyoom identifie les processus les plus gourmands en mémoire.
• Il termine certains onglets de mon navigateur, (comme configuré dans les préférences).
• Le système libère de la mémoire et redevient réactif, pas de blocage de l'OS

Installation et configuration d'earlyoom sur openSUSE Tumbleweed

Qu'est-ce qu'earlyoom ?
earlyoom est un démon léger qui améliore la réactivité du système en surveillant l'utilisation de la mémoire et en intervenant avant que le système ne devienne non réactif. Il termine les processus gourmands en mémoire pour éviter les blocages.

Installation d'earlyoom
1. Ouvrez un terminal.
2. Installez earlyoom avec la commande :
  
sudo zypper install earlyoom
Configuration d'earlyoom cf manpage earlyoom
1. Modifiez le fichier de configuration situé à /etc/sysconfig/earlyoom.
2. Utilisez votre éditeur préféré pour ajuster les paramètres :
  
sudo nano /etc/sysconfig/earlyoom
3. Exemple de mes ajustements :
  
EARLYOOM_ARGS="-r 60 -m 5,3 -s 5,3 -n --avoid '(^|/)(systemd|Xorg|Xwayland)$' --prefer '(^|/)(firefox|chrome|chromium)$'"
   - -r 60 : Vérifie la mémoire toutes les 60 secondes.
   - -m 5,3 -s 5,3 : Envoie un SIGTERM à 5% de mémoire/swap libre et un SIGKILL à 3%.
   - -n : Active les notifications.

Surveillance d'earlyoom via terminal
1. Après modification, rechargez systemd et redémarrez earlyoom :
  
sudo systemctl daemon-reload
sudo systemctl restart earlyoom
  
2. Surveillez l'activité d'earlyoom avec :
journalctl -f -u earlyoom
Conclusion
En utilisant earlyoom, j'ai pu éviter le figeage de mon os dus à une utilisation excessive de la mémoire.

La meilleur pratique est :
  • Ne pas ouvrir plusieurs applications gourmandes en mem simultanément
  • Augmenter sa mémoire vive (achat)
  • Fermer les onglets inutilisés ou applications
  • dans le cas contraire utiliser earlyoom
94
Programmes et logiciels / Thunderbird Wayland icône W
Dernier message par torxxl -
Bonjour,
Rencontrant des soucis de sortie de veille avec X11, je suis passé à Wayland.
Depuis, l'icône de Thunderbird (version Opensuse et pas Flatpack) est un W
Un moyen de corriger cela ?
D'avance merci
96
Matériel / Maj TW : conflit entre libOpenCL1 and nvidia-computeG04/G05/G06
Dernier message par chalu -
Bonjour,
Visiblement une maj sur Tumbleweed de libOpenCL1 rentre en conflit avec nvidia-computeG04/G05/G06.
Il semble impossible de garder les drivers Nvidia avec les solutions 1 et 2 rapportées dans le lien de déclaration du bug ci-dessous et opter pour la solution 3 risque de ne pas mettre correctement à jour le système. Il est sans doute préférable d'attendre un correctif avant de mettre à jour.
Déclaration du bug : https://bugzilla.opensuse.org/show_bug.cgi?id=1233169

Lien du forum anglophone sur ce bug à suivre pour les possesseurs de cartes Nvidia : https://forums.opensuse.org/t/dont-know-how-to-proceed-sudo-zypper-dup-shows-odd-conflict/180188
99
Général / Re : Petit bug sans conqéquence mais juste ... agaçant...
Dernier message par Philoupes -
Bonsoir à tous,

Merci pour vos réponses, alors pour @chalu voici le retour de la commande "flatpak update"
ppes@FIXE-MAISON:~/Téléchargements> flatpak update
Looking for updates…

Info: runtime org.kde.Platform branch 6.6 is end-of-life, with reason:
   We strongly recommend moving to the latest stable version of the Platform and SDK
Info: applications using this runtime:
   com.obsproject.Studio


        ID                                             Branch                Op            Remote             Download
 1.     org.freedesktop.Platform.GL.default            24.08                 u             flathub            < 146,8 Mo
 2.     org.freedesktop.Platform.GL.default            24.08extra            u             flathub            < 146,8 Mo
 3.     org.freedesktop.Platform.Locale                24.08                 u             flathub            < 379,7 Mo (partial)
 4.     org.freedesktop.Platform                       24.08                 u             flathub            < 261,4 Mo
 5.     org.kde.Platform.Locale                        6.6                   u             flathub            < 392,4 Mo (partial)
 6.     org.kde.Platform                               6.6                   u             flathub            < 334,4 Mo

Proceed with these changes to the system installation? [Y/n]: n
Ici il me dit que c'est KDE 6.6 qui est obsolète... Etonnant non ?
jusqu'à présent je faisait pas du tout dans l'ordre de Chalu,
Je faisais ma Mise a Jour système, si y avait besoin d'un redemarrage et pas de mise à jour dans Discover, la petite icone disparaissait. Si elle restait j'allais dans Discover faire la MàJ...
Je teste dans l'autre sens et je reviens dire...
A taleur