Différences entre versions de « Comment activer la gestion swap dans les cgroups »

De Ikoula Wiki
Jump to navigation Jump to search
 
(3 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
 +
{{#seo:
 +
|title=Comment activer la gestion swap dans les cgroups
 +
|title_mode=append
 +
|keywords=these,are,your,keywords
 +
|description=Comment activer la gestion swap dans les cgroups
 +
|image=Uploaded_file.png
 +
|image_alt=Wiki Logo
 +
}}
 +
 
== Explication ==
 
== Explication ==
  
Ligne 9 : Ligne 19 :
 
Il est tout de même possible de rencontrer un message d'avertissement lié à la non configuration de la swap au niveau des cgroups inexistante :
 
Il est tout de même possible de rencontrer un message d'avertissement lié à la non configuration de la swap au niveau des cgroups inexistante :
  
[code]
+
<pre>
 
WARNING: No kernel memory limit support
 
WARNING: No kernel memory limit support
[/code]
+
</pre>
  
 
Ce type de '''WARNING''' se retrouve par exemple en fin retour de la commande ''docker info''.
 
Ce type de '''WARNING''' se retrouve par exemple en fin retour de la commande ''docker info''.
Ligne 19 : Ligne 29 :
 
''à titre d'exmple vous pouvez vérifier que la ligne <b>CONFIG_MEMCG_SWAP=</b> soit à '''no'''''
 
''à titre d'exmple vous pouvez vérifier que la ligne <b>CONFIG_MEMCG_SWAP=</b> soit à '''no'''''
  
[code]
+
<pre>
 
root@XXXXXXXX : # grep -i swap /boot/config-`uname -r`
 
root@XXXXXXXX : # grep -i swap /boot/config-`uname -r`
 
CONFIG_SWAP=y
 
CONFIG_SWAP=y
Ligne 32 : Ligne 42 :
 
CONFIG_RING_BUFFER_ALLOW_SWAP=y
 
CONFIG_RING_BUFFER_ALLOW_SWAP=y
 
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
 
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
[/code]
+
</pre>
  
 
== Correction ==
 
== Correction ==
Ligne 38 : Ligne 48 :
 
Ouvrez un éditeur le fichier /etc/default/grub :
 
Ouvrez un éditeur le fichier /etc/default/grub :
  
[code]
+
<pre>
 
root@XXXXXXXX : # vi /etc/default/grub
 
root@XXXXXXXX : # vi /etc/default/grub
[/code]
+
</pre>
  
 
Et ajoutez ceci à la ligne '''GRUB_CMDLINE_LINUX=""'''
 
Et ajoutez ceci à la ligne '''GRUB_CMDLINE_LINUX=""'''
  
[code]
+
<pre>
 
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
 
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
[/code]
+
</pre>
  
 
Il vous faudra par la suite régénérez votre configuration de grub et redémarrer le serveur pour pouvoir en prendre compte.
 
Il vous faudra par la suite régénérez votre configuration de grub et redémarrer le serveur pour pouvoir en prendre compte.
 
Pour ce faire afin de régénérez la configuration de votre '''GRUB''' :
 
Pour ce faire afin de régénérez la configuration de votre '''GRUB''' :
  
[code]
+
<pre>
 
root@XXXXXXXX : # grub-mkconfig -o /boot/grub/grub.cfg
 
root@XXXXXXXX : # grub-mkconfig -o /boot/grub/grub.cfg
[/code]
+
</pre>
  
 
Effectuer un redémarrage de votre serveur et vérifiez à nouveau la configuration du kernel :
 
Effectuer un redémarrage de votre serveur et vérifiez à nouveau la configuration du kernel :
  
[code]
+
<pre>
 
root@XXXXXXXX : #  grep -i CONFIG_MEMCG_SWAP= /boot/config-`uname -r`
 
root@XXXXXXXX : #  grep -i CONFIG_MEMCG_SWAP= /boot/config-`uname -r`
 
CONFIG_MEMCG_SWAP=y
 
CONFIG_MEMCG_SWAP=y
[/code]
+
</pre>
  
 
Vous pourrez remarquer la présence du ''yes''
 
Vous pourrez remarquer la présence du ''yes''
 
<br>
 
<br>
Vous pouvez à nbouveau lancer la commande ''docker info'', vous n'aurez plus le '''WARNING'''
+
Vous pouvez à nouveau lancer la commande ''docker info'', vous n'aurez plus le '''WARNING'''
  
 
[[Category:docker]]
 
[[Category:docker]]
 +
[[Category:Serveur VPS]]
 +
 +
[[Category:Cloud]]
 +
 +
[[Category:Serveur dédié]]

Version actuelle datée du 9 septembre 2021 à 16:51

Explication

Lorsque vous utilisez Docker il est fortement recommandé de procéder à une optimisation de l'utilisation des cgroups.
L'utilisation de 'cgroup' permet de limiter l'utilisation de ressources par des processus, typiquement dans Docker cela permet de limiter l'utilisation de ressources par les containers. Ce mécanisme permet donc de reserver une base minimale de ressources à l'hôte et d'isoler plus efficacement un éventuel problème d'un applicatif déployé.
La pluspart des Kernels récents dispose de configuiration basique suffisante pour l'utilisation standards de Docker. Il est tout de même possible de rencontrer un message d'avertissement lié à la non configuration de la swap au niveau des cgroups inexistante :

WARNING: No kernel memory limit support

Ce type de WARNING se retrouve par exemple en fin retour de la commande docker info.
Vous pouvez vous en assurez en vérifiant directement la configuration du kernel actuellement en cours d'utilisation que le support de la swap ne soit pas actif dans les cgroups :
à titre d'exmple vous pouvez vérifier que la ligne CONFIG_MEMCG_SWAP= soit à no

root@XXXXXXXX : # grep -i swap /boot/config-`uname -r`
CONFIG_SWAP=y
CONFIG_MEMCG_SWAP=n
# CONFIG_MEMCG_SWAP_ENABLED is not set
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_FRONTSWAP=y
CONFIG_ZSWAP=y
CONFIG_MTD_SWAP=m
CONFIG_NFS_SWAP=y
CONFIG_SUNRPC_SWAP=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set

Correction

Ouvrez un éditeur le fichier /etc/default/grub :

root@XXXXXXXX : # vi /etc/default/grub

Et ajoutez ceci à la ligne GRUB_CMDLINE_LINUX=""

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

Il vous faudra par la suite régénérez votre configuration de grub et redémarrer le serveur pour pouvoir en prendre compte. Pour ce faire afin de régénérez la configuration de votre GRUB :

root@XXXXXXXX : # grub-mkconfig -o /boot/grub/grub.cfg

Effectuer un redémarrage de votre serveur et vérifiez à nouveau la configuration du kernel :

root@XXXXXXXX : #  grep -i CONFIG_MEMCG_SWAP= /boot/config-`uname -r`
CONFIG_MEMCG_SWAP=y

Vous pourrez remarquer la présence du yes
Vous pouvez à nouveau lancer la commande docker info, vous n'aurez plus le WARNING