linux命令——ulimit

想象一个状况:Linux 主机里面同时登入了十个人,这十个人同时开启了100 个档案,每个档案的大小约 10MBytes ,请问一下, Linux 主机的内存要有多大才够? 10*100*10 = 10000 MBytes = 10GBytes ... 这样,系统不挂掉才怪!为了要预防这个情况的发生,bash 是可以『限制用户的某些系统资源』的,包括可以开启的档案数量, 可以使用的 CPU 时间,可以使用的内存总量等等。如何设定?用 ulimit !

ulimit -a       # 列出当前身份所有限制资料数值

ulimit -f 10240 # 限制用户只能建立10M以下的容量的档案

# -c :当某些程序发生错误时,系统可能会将该程序在内存中的信息写成档案(除错用), 这种档案就被称为核心档案(core file)。此为限制每个核心档案的最大容量。
# -f :此 shell 可以建立的最大档案容量(一般可能设定为 2GB)单位为 Kbytes
# -d :程序可使用的最大断裂内存(segment)容量;
# -l :可用于锁定 (lock) 的内存量
# -t :可使用的最大 CPU 时间 (单位为秒)
# -u :单一用户可以使用的最大程序(process)数量。

想要复原 ulimit 的设定最简单的方法就是注销再登入,否则就是得要重新以ulimit设定才行! 要注意的是,一般身份使用者如果以 ulimit 设定了-f 的档案大小, 那么他只能继续减小档案容量,不能增加档案容量。

linux命令——ulimit,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。