ulimit命令用来限制系统用户对 shell 资源的访问,常见用法如下:
[root@localhost ~]$ ulimit -a # 查看当前所有的资源限制 [root@localhost ~]$ ulimit -u 65535 # 限制用户能打开的最大进程数 [root@localhost ~]$ ulimit -SHn 65535 # 限制同一时间最多可打开的文件数
命令参数:
-a All current limits are reported -b The maximum socket buffer size -c The maximum size of core files created -d The maximum size of a process's data segment -e The maximum scheduling priority ("nice") -f The maximum size of files written by the shell and its children -i The maximum number of pending signals -l The maximum size that may be locked into memory -m The maximum resident set size (many systems do not honor this limit) -n The maximum number of open file descriptors (most systems do not allow this value to be set) -p The pipe size in 512-byte blocks (this may not be set) -q The maximum number of bytes in POSIX message queues -r The maximum real-time scheduling priority -s The maximum stack size -t The maximum amount of cpu time in seconds -u The maximum number of processes available to a single user -v The maximum amount of virtual memory available to the shell and, on some systems, to its children -x The maximum number of file locks -T The maximum number of threads
-S Set a soft limit for the given resource
-H Set a hard limit for the given resource
命令输出:
[root@localhost ~]$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 257403 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 65535 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 65535 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
线上的用法:
ulimit -u 65535 ulimit -SHn 65535 sed -i '/ulimit/d' /etc/rc.d/rc.local echo "ulimit -u 65535" >> /etc/rc.d/rc.local echo "ulimit -SHn 65535" >> /etc/rc.d/rc.local