限制Linux中用户可用的内存和CPU

时间:2009-01-12 23:21:34

标签: linux memory-management cpu-usage pam

我有点担心我可以在共享计算机中使用的资源量。有没有办法测试管理员是否有我可以使用的资源量限制?如果是,为了提出更完整的问题,我该如何设置这样的限制?

谢谢。

3 个答案:

答案 0 :(得分:16)

对于与流程相关的限制,您可以查看/etc/security/limits.conf(阅读文件中的评论,使用google或使用man limits.conf获取更多信息)。正如jpalecek指出的那样,您可以使用ulimit -a来查看(并可能修改)当前有效的所有此类限制。

您可以使用命令quota查看磁盘配额是否生效。

答案 1 :(得分:9)

您可以尝试运行

ulimit -a

查看有效的资源限制。此外,如果允许您更改此类限制,则可以通过ulimit命令更改它们,例如

ulimit -c unlimited

解除进程可以制作的核心文件大小的任何限制。

答案 2 :(得分:1)

在 C 级别,相关函数(实际上是 syscalls(2)...)可以是 setrlimit(2)setpriority(2)sched_setattr(2)。您可能希望从您的 shell 中调用它们。

另见 proc(5) - 并尝试 cat /proc/self/limitssched(7)

您可能需要使用 renice(1) 命令。

如果您运行一个不需要用户交互的持久程序(几个小时),您可以考虑使用一些batch processing。某些 Linux 系统具有 batch or at command