Limiter ressources daemon docker via daemon.json
Résolu/Fermé
pcsystemd
Messages postés
702
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
6 novembre 2024
-
3 nov. 2021 à 12:20
mamiemando Messages postés 33435 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 décembre 2024 - 10 nov. 2021 à 14:40
mamiemando Messages postés 33435 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 décembre 2024 - 10 nov. 2021 à 14:40
A voir également:
- Limiter ressources daemon docker via daemon.json
- Daemon tools lite - Télécharger - Émulation & Virtualisation
- Partager des photos via un lien - Guide
- Chargement des ressources logitech g hub - Forum Logiciels
- Via michelin - Télécharger - Transports & Cartes
- Impossible d'envoyer le message via free erreur 0 - Forum Mobile
10 réponses
mamiemando
Messages postés
33435
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 décembre 2024
7 810
Modifié le 3 nov. 2021 à 12:50
Modifié le 3 nov. 2021 à 12:50
Bonjour,
Je ne connais pas bien
Bonne chance
Je ne connais pas bien
docker, mais voici ce que je vérifierais en premier lieu :
- Es-tu sûr que ton fichier
daemon.json
est lu ? D'après la documentation,docker
va lire par défaut/etc/docker/daemon.json
ou utiliser le chemin passé en paramètre via l'option--config-file string
. - Arrives-tu as exploiter le fichier
monfichier.slice
via l'option--cgroup-parent
? (voir dans la documentation la section "Default cgroup parent"). En particulier, est-ce quemonfichier.slice
est placé un dossier inspecté par docker (est-ce que la valeur associée àcgroup-parent
est cohérente) ?
Bonne chance
mamiemando
Messages postés
33435
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 décembre 2024
7 810
3 nov. 2021 à 17:54
3 nov. 2021 à 17:54
Est-ce qu'au niveaux des logs dockers il y a des erreurs qui permettraient d'y voir plus clair ?
mamiemando
Messages postés
33435
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 décembre 2024
7 810
Modifié le 4 nov. 2021 à 13:11
Modifié le 4 nov. 2021 à 13:11
Bonjour,
Unable to configure the Docker daemon with file
Effectivement, il n'y a pas de manière d'écrire des commentaires dans un fichier
Bon par contre ce qui est curieux c'est que malgré cela mon
Tu veux dire dans
En tout cas, difficile à dire pour moi vue que la capture d'écran est tronquée. De manière générale, évite les captures d'écran sur un forum, un bon vieux copier coller sera plus pratique pour tout le monde et plus écologique.
Retour à ton problème : il faut regarder dans tes logs voir si quelque chose explique pourquoi ta directive n'est pas prise en compte. Si les logs de docker sont bien faits, ils devraient t'indiquer les fichiers lus, les instructions appliquées avec succès, et les éventuelles erreurs. C'est à partir de ces informations qu'on comprendra mieux ce qui cloche, soit par nous-même, soit en cherchant les messages d'erreur sur Internet...
Par contre si je renseigne la ligne
Ce qui est sûr c'est qu'il faut redémarrer (ou recharger) les services adéquats pour qu'un changement de configuration soit pris en compte. Est-ce bien le cas ?
Pardonne ma méconnaissance de
Bonne chance
Unable to configure the Docker daemon with file
/etc/docker/daemon.json: invalid character '#' looking for beginning of value
Effectivement, il n'y a pas de manière d'écrire des commentaires dans un fichier
json. Mais, comme tu le soulignes, cette erreur confirme que le fichier
/etc/docker/daemon.jsonest bien lu.
Bon par contre ce qui est curieux c'est que malgré cela mon
cgroup-parent "cgroup-parent": "limit-docker-resource.slice"qui est présent dans mon fichier
daemon.logsemble ne pas être pis en compte comme on peut le voir avec un
systemctl status docker!
Tu veux dire dans
/etc/docker/daemon.json?
En tout cas, difficile à dire pour moi vue que la capture d'écran est tronquée. De manière générale, évite les captures d'écran sur un forum, un bon vieux copier coller sera plus pratique pour tout le monde et plus écologique.
Retour à ton problème : il faut regarder dans tes logs voir si quelque chose explique pourquoi ta directive n'est pas prise en compte. Si les logs de docker sont bien faits, ils devraient t'indiquer les fichiers lus, les instructions appliquées avec succès, et les éventuelles erreurs. C'est à partir de ces informations qu'on comprendra mieux ce qui cloche, soit par nous-même, soit en cherchant les messages d'erreur sur Internet...
Par contre si je renseigne la ligne
Slice=limit-docker-resource.slicedans mon
/etc/systemd/system/docker.serviceet que je redémarre les services c'est pris en compte!
Ce qui est sûr c'est qu'il faut redémarrer (ou recharger) les services adéquats pour qu'un changement de configuration soit pris en compte. Est-ce bien le cas ?
Pardonne ma méconnaissance de
dockermais es-tu sûr qu'un
cgrouppeut être un slice, ou s'agit-il de deux notions différentes ?
Bonne chance
mamiemando
Messages postés
33435
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 décembre 2024
7 810
9 nov. 2021 à 14:01
9 nov. 2021 à 14:01
En effet, je viens de tomber sur cette discussion qui semble correspondre exactement à ton problème. As-tu essayer de suivre en particulier cette réponse ?
Bonne chance
Bonne chance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pcsystemd
Messages postés
702
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
6 novembre 2024
23
Modifié le 10 nov. 2021 à 07:27
Modifié le 10 nov. 2021 à 07:27
Enfin c'est résolu!
Merci.
J'ai supprimé
D'ailleurs cette commande
ATTENTION
Pour info si d'autres personnes ont besoin, le paramètre
L'accès au savoir est la première liberté que chaque homme devrait avoir.
Merci.
J'ai supprimé
Slice=limit-docker-resource.slicedans mon
/etc/systemd/system/docker.serviceet fait un
pcsystemctl start limit-docker-resource.sliceet c'etait good
D'ailleurs cette commande
systemd-cgtopl'indique
Control Group Tasks %CPU Memory Input/s Output/s
/limit-docker-resource.slice 902 61.3 9.2G - -
/limit-docker-resource.slice/689eb9a 36 5.7 361.6M - -
/limit-docker-resource.slice/a51e874 36 5.6 361.7M - -
ATTENTION
Pour info si d'autres personnes ont besoin, le paramètre
MemoryLimit=indiqué dans cette réponse ( https://unix.stackexchange.com/questions/537645/how-to-limit-docker-total-resources/550954#550954) est obsolète et remplacé par
MemoryMax=. Consulter le MAN de "systemd.resource-control"
L'accès au savoir est la première liberté que chaque homme devrait avoir.
mamiemando
Messages postés
33435
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 décembre 2024
7 810
10 nov. 2021 à 14:40
10 nov. 2021 à 14:40
Merci pour ton retour !
pcsystemd
Messages postés
702
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
6 novembre 2024
23
3 nov. 2021 à 16:05
3 nov. 2021 à 16:05
Merci.
Alors oui mon fichier
Par contre effectivement, tu m'as mis la puce a l'oreille concernant le path du fichier
Alors oui mon fichier
daemon.jsonest bien lu car si je l'active justement il plante de daemon docker. Et il est bien dans
/etc/docker.
Par contre effectivement, tu m'as mis la puce a l'oreille concernant le path du fichier
monfichier.slicepour que docker l'exploite! Je vais vérifier cela.
pcsystemd
Messages postés
702
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
6 novembre 2024
23
Modifié le 3 nov. 2021 à 16:42
Modifié le 3 nov. 2021 à 16:42
Bin après vérification je comprends toujours pas!
Voici le contenu de mon fichier daemon.json qui est dans /etc/docker
et voici le contenu du fichier
Le cgroup
/sys/fs/cgroup/memory/limit.slice/limit-docker.slice/limit-docker-resource.slice/
Voici le contenu de mon fichier daemon.json qui est dans /etc/docker
{
"exec-opts": ["native.cgroupdriver=systemd"],
"cgroup-parent": "limit-docker-resource.slice"
}
et voici le contenu du fichier
limit-docker-resource.slicequi se trouve dans /etc/systemd/system
[Unit]
Description=Throttle CPU usage to 70% and memory usage to 8GB for docker-spawned processes
Before=slices.target
[Slice]
CPUQuota=50%
MemoryAccounting=true
MemoryMax=20G
Le cgroup
/sys/fs/cgroup/memory/limit.slice/limit-docker.slice/limit-docker-resource.slice/
pcsystemd
Messages postés
702
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
6 novembre 2024
23
Modifié le 4 nov. 2021 à 07:33
Modifié le 4 nov. 2021 à 07:33
Merci car en fait je ne regardais pas le bon log et du coup en testant ce matin j'ai trouvé ou était l"erreur et pourquoi le daemon docker plantait. Cela venait du commentaire présent dans
Bon par contre ce qui est curieux c'est que malgré cela mon cgroup-parent
Par contre si je renseigne la ligne
daemon.log. Cela confirme également que docker lit bien le fichier.
unable to configure the Docker daemon with file /etc/docker/daemon.json: invalid character '#' looking for beginning of value
Bon par contre ce qui est curieux c'est que malgré cela mon cgroup-parent
"cgroup-parent": "limit-docker-resource.slice"qui est présent dans mon fichier
daemon.logsemble ne pas être pis en compte comme on peut le voir avec un
systemctl status docker!
Par contre si je renseigne la ligne
Slice=limit-docker-resource.slicedans mon /etc/systemd/system/docker.service et que je redémarre les services c'est pris en compte!
pcsystemd
Messages postés
702
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
6 novembre 2024
23
9 nov. 2021 à 12:41
9 nov. 2021 à 12:41
Pardonne ma méconnaissance de docker mais es-tu sûr qu'un cgroup peut être un slice, ou s'agit-il de deux notions différentes ?
Au vu de la doc https://docs.docker.com/engine/reference/commandline/dockerd/ je dirais oui.
Au vu de la doc https://docs.docker.com/engine/reference/commandline/dockerd/ je dirais oui.
pcsystemd
Messages postés
702
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
6 novembre 2024
23
Modifié le 9 nov. 2021 à 17:13
Modifié le 9 nov. 2021 à 17:13
Oui oui j'ai essayé cette solution il y a quelques jours mais cela ne m'a pas apporté plus!
Merci
Merci