Установка предела памяти не является специфичной для модуля edgeHub, но она одинакова для любого другого модуля докера, используемого с IotEdge.Вы можете добавить параметр Память в раздел HostConfig в разделе createOptions любого модуля.
Для edgeAgent параметр развертывания будет выглядеть следующим образом:
"systemModules": {
"edgeAgent": {
"type": "docker",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-agent:1.0",
"createOptions": "{\"HostConfig\":{\"Memory\":536870912}}"
}
},
"edgeHub": {
...
}
}
При этом выполните новое развертывание.
Чтобы изменения вступили в силу на вашем компьютере, вы должны удалить модуль edgeAgent, чтобы он создавал новый в соответствии с вашими измененными правилами развертывания.Это можно сделать с помощью следующей команды:
sudo docker rmi mcr.microsoft.com/azureiotedge-agent:1.0 -f
После этого перезапустите iotEdge Deamon с
sudo systemctl restart iotedge
После этого память будет ограничена для модуля edgeAgent.
Примечание. Если вы хотите ограничить память наRaspberry Pi, учтите, что поддержка ограничения памяти по умолчанию отключена.Вы можете найти HowTo для его включения здесь: https://blog.raveland.org/post/docker_raspian/