我想从自由弹力豆杆层挤出每一盎司的使用。
我的后端构建为一组微服务(使用ktor)。准确地说,我有5微服务。所有这些都是对接的,我试图在同一个微型t2上运行它们。微(自由)弹性豆柄实例具有多码头图像环境。
Java是java,它喜欢在每个坞容器中空闲大约200 MB RAM,即使是最简单的微服务。
所以,t2微内存给你1GB的内存。我有5个微型码头集装箱,每箱要求至少200 MB =非常接近。
问题是,记忆几乎总是在100%左右剧烈地徘徊,几乎一直如此。
那么,是否有一种方法来动态地分配内存给码头容器取决于有多少是空闲的,以及一个容器有多迫切地需要它?
假设一个容器正在做一些繁重的工作,而另一个容器主要是空闲的,我想将一些RAM指向执行繁重任务的容器,任务完成后,返回到每个容器的RAM分配相等的位置。
有办法这样做吗?
发布于 2020-01-30 00:48:21
您可以使用docker update --memory-reservation xxx <container>
在容器运行时更改其软限制内存分配。当整体内存不足时,Docker会轻轻地将容器推到它们的软性极限。所以你可以为你的所有容器设置150 MB的软限制,当你知道有额外的工作要做的时候,你可以把其中的一个加起来。
软性限制下的docker文档并不是很好,CGroup存储器的内核文档更好地解释了它。
https://stackoverflow.com/questions/59769339
复制相似问题