Limiter la mémoire

Limiter la mémoire utilisable par une instance LXC. 
Note : la machine physique de test dispose de 16Go de RAM et de 8Go de Swap, elle fonctionne avec un kernel très récent (à l'époque) : 5.6.7, quasiment le dernier sorti à ce jour. 
Sans aucune limitation l'instance LXC dispose de l'intégralité de la mémoire de la machine physique, "free mem" montre : 
              total        used        free      shared  buff/cache   available 
Mem:       16363688       17616    16281500        8184       64572    16346072 
Swap:       8811516           0     8811516 
On voit bien 16Go de mémoire et un swap de 8Go. 
Pour limiter la mémoire utilisable par notre container on met en place les paramètres suivants :

lxc.cgroup.memory.limit_in_bytes = 128M 
lxc.cgroup.memory.memsw.limit_in_bytes = 192M 
Après redémarrage du conteneur "free mem" donne alors : 
              total        used        free      shared  buff/cache   available 
Mem:         131072       12332      105408        8184       13332      118740 
Swap:        196608           8      196600 
Ce qui correspond bien aux paramètres fixés, la commande "lxc-info" est plus bavarde et donne plus de renseignements : 
lxc-info debian-d 
Name:           debian-d 
State:          RUNNING 
PID:            8280 
IP:             192.168.3.12 
Memory use:     36.44 MiB 
KMem use:       7.50 MiB 
Link:           veth9SRIEJ 
 TX bytes:      7.89 KiB 
 RX bytes:      12.70 KiB 
 Total bytes:   20.59 KiB 
Au passage une petite singularité : la variable "$HOME" de root n'est pas initialisée dans le conteneur mais se trouve ici égale à "/home/testlxc" (HOME de l'utilisateur qui a lancé l'instance). J'ai du installer dans .profile "export HOME=/root" et il faut en plus utiliser un "switch" lors du lancement de lxc-attach en ajoutant : 
--clear-env. Comme par miracle on se retrouve alors avec une variable HOME correcte.