ulimit有哪些参数?


11

我在示例中看到该-u选项与ulimit命令一起使用,但是我找不到说明该选项含义的文档。man ulimit显示了系统库功能的手册。有什么选择ulimit,这意味着什么?

Answers:


9

ulimit命令是一个内置命令,它使用man描述的C函数:它自己的帮助包含在Bash手册页中,可通过访问man bash

您可以使用列出所有可用的选项ulimit -h,并查看它们的相应含义ulimit -a,根据系统的不同,列出所有可用的限制类型及其当前值:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 20
file size               (blocks, -f) unlimited
pending signals                 (-i) 16382
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

1
请注意,ulimit -h并非所有地方都支持该功能-至少在Bash 4.2.25中不支持。
DreadPirateShawn

ulimit -h在Ubuntu 16.04中未列出任何这些内容
matt

8

ulimit必须是内置的Shell,因为它建立的限制适用于Shell本身以及启动的程序。唯一可移植的参数是-f(文件大小限制,以512字节为单位)。大多数外壳程序都有更多选择,您需要查看外壳程序文档以确切了解它们是什么。对于bash和ksh之类的可移植外壳,即使外壳识别出相应的选项,某些unix变体也可能不支持限制。

我见过的每个shell都支持的选项:

  • -H:与其他选项结合使用只能设置或显示硬限制。
  • -S:与其他选项结合使用只能设置或显示软限制。
  • -c:最大核心文件大小(512字节块)
  • -d:最大堆(数据段)大小(kB)
  • -f:最大文件大小(512字节块)
  • -n:文件描述符的最大数量
  • -s:最大堆栈大小(kB)
  • -t:最大CPU时间(秒)

其他一些非常常见的选择:

  • -a:显示所有限制。
  • -m:最大物理内存大小(kB)
  • -v:最大虚拟内存大小(kB)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.