我试图将进程的带宽限制在内存中。
我有2个cgroup(cgroup1和cgroup2),其中包含进程。我可以限制每个cgroup使用的内存量。
但如果他们继续调用malloc()
和free()
并使内存总线饱和,它们会相互影响。
我该如何限制?我没有两个不同的内存节点,也没有NUMA。
答案 0 :(得分:2)
这是不可能的。 Supported subsystems是:
最近的系统research paper引入了一个新的控制器来实现这一目标,并创建了相关的代码available。
另一种方法是mmap一个文件,然后在其上设置char buf[32];
fgets(buf, sizeof(buf), stdin);
if (sscanf(buf, "%d", &Array[i]) != 1)
break;
设置(不确定这是否有效)。然后,让你的程序从文件读取/写入变量,而不是使用blkio
(丑陋!)。