编译程序导致我的系统内存不足,有什么解决方法吗?

编译程序导致我的系统内存不足,有什么解决方法吗?

在编译期间,我的系统在编译单元上耗尽了内存。我该如何处理这个问题?

一种方法是启用交换,但这样做会使机器在程序编译时无法使用。

我正在考虑创建一个新用户,将其主目录设置为与当前帐户相同(用于移植构建环境和配置),根据需要设置文件权限,并将该用户的主内存限制为 7.5 GB(我' ve 8 GB 内存)。在su new_user做任何可能使用大量内存的事情之前。

我尝试使用 cgroup 来完成此任务。这是我的/etc/cgconfig.conf

group memlimit {
    memory {
        memory.limit_in_bytes = 10m;
    }
}

我的/etc/cgrules.conf

limited memory memlimit

我已将此行添加到/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet cgroup_enable=memory"

但这似乎不起作用,新用户仍然能够占用所有内存。

如何限制用户可用的主内存,同时保持交换内存的使用不受限制?

还有其他方法可以完成这项消耗内存的任务吗?

相关内容