为了限制特定进程的内存资源,我们可以使用 ulimit 和 cgroup。
我想了解,如果使用 cgroup,我已经分配了大约 700 MB 的内存给进程 A,在具有 1 GB RAM 的系统上,而其他一些进程说 B,需要大约 400 MB 的内存。在这种情况下会发生什么?
- 如果进程 A 分配了约 750 MB 的内存,但只使用了 200 MB 的内存,那么进程 B 是否可以使用分配给 A 的内存?
- 如果没有,那么如何实现“将固定数量的内存分配给其他进程无法使用的进程”的场景?
编辑
是否可以为进程锁定物理内存?还是只能锁定虚拟机,使其他进程无法访问它?
有一个多媒体应用程序必须保持活动状态并且可以在内存方面使用最大的系统资源,我需要实现这一点。
谢谢。