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 的档案大小, 那么他只能继续减小档案容量, 不能增加档案容量.