web-dev-qa-db-fra.com

Limite de mémoire et limite d'UC dans le conteneur Docker

METTRE À JOUR:

trouvé beaucoup de questions et discussions sur stackoverflow sur ce sujet. Et bien qu'ils soient marqués comme acceptés, répondus et lancés par des milliers d'utilisateurs, ils ne semblent pas être la bonne réponse ici.


J'ai exécuté un conteneur docker (version 1.13.1, build 092cba3) avec des contraintes de ressources, comme suit:

docker run --privileged -v /sys/fs/cgroup:/sys/fs/cgroup -m 4096M --cpuset-cpus='0' --cpus=1 --cpu-shares=256 -p $IMAGE_NAME

Le système hôte (RHEL 7) possède 4 cœurs et 8 Go de mémoire. En gros, je souhaite limiter la mémoire et le processeur disponibles pour le conteneur. Après avoir lancé le conteneur avec succès, j'ai ouvert le bash et essayé de trouver les informations de limite dans le conteneur. Mais je n'ai pas pu obtenir les informations correctes.

J'ai essayé ceci:

Sudo cat /proc/meminfo

Le résultat est:

Système hôte MemTotal: 8008812 kB MemFree: 7416404 kB MemAvailable: 7537332 kB
Docker Container MemTotal: 8008812 Ko.

De même, je voulais avoir une limite de CPU:

grep -c ^processor /proc/cpuinfo

Le résultat est:

Système hôte 4
Docker Image 4

Il semble que la limite de CPU et de mémoire imposée par le conteneur ne soit pas visible par le conteneur. J'ai aussi essayé d'interroger les informations du groupe de contrôle.

mkdir -p /tmp/memory
mount -n -t cgroup -o memory cgroup /tmp/memory

Ensuite, je regarde dans les fichiers cgroup:

[root@engrlab memory]# cat /tmp/memory/memory.limit_in_bytes
9223372036854771712

Ce nombre est supérieur à la mémoire réelle du système hôte.

Existe-t-il un moyen de vérifier que les contraintes de ressources ont été correctement définies dans le conteneur? Comment trouver les informations sur les contraintes de ressources dans un conteneur? Apprécier toute suggestion.

3
mattsun

METTRE À JOUR

C'est la réponse qui fonctionne: https://stackoverflow.com/a/41827812/3209177


Je viens de trouver cette réponse:

Limiter la mémoire sur un conteneur Docker ne fonctionne pas

Je vais essayer cela et revenir avec mon observation.

0
mattsun

j'essaie cette commande ce que mon docker héberge-t-il?. /frapper

Test des stats de docker

1
Thol Voleak