我想通过在Linux上使用ulimit命令来限制由bash启动的进程使用的内存。 我想知道什么操作系统机制是用来支持ulimit。 特别是,它是基于cgroups吗?
bash ls | sort desc | 拿(n)?
pythonsubprocessdpkg:我得到的东西,在bash中运行的错误
用下划线replace空格,并使小写字母 – 文件名
sedexpression式,char xx:由连字符引起的范围结尾错误无效
在subprocess中运行bash,如果在等待`read -s`时中断了tty的stdout?
获取和设置限制的Linux API方法是getrlimit(2)和setrlimit(2)
限制在流程空间内进行管理。 子进程将继承其父进程的限制。 限制是POSIX标准的一部分,所有符合POSIX标准的操作系统都支持它们(Linux,BSD,OSX)。
cgroups是Linux特有的,在Linux安装中甚至不需要。 我不确定是否可以用cgroups来管理限制,但肯定会是非标准的。
“ulimit”基本上是一个时代错误。 如果您需要资源,您不应该有任何实际的限制,如果您想限制资源,有更好的方法来建立报价。
这里有一个很好的概述:
http://www.gnu.org/software/libc/manual/html_node/Limits-on-Resources.html
看几个手册页包括:
男人2 getrlimit
男人2 setrlimit
男人3 ulimit OBSOLETE!
我使用softlimit ,这是DJB的daemontools包的一部分。
例如,通过指定类似softlimit -m 1048576 nautilus的程序(nautilus)永远不会超过1MiB的内存使用量(这也会导致它在此情况下立即失败)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。