在 CentOS 系统中,ulimit
命令用于设置和查看用户进程的资源限制。ulimit
可以限制多种资源,主要包括以下几类:
CPU 时间(core file size
):限制进程可以使用的最大 CPU 时间。
文件大小(data seg size
):限制进程可以创建的最大文件大小。
内存使用(virtual memory
):限制进程可以使用的最大虚拟内存。
文件描述符(open files
):限制进程可以同时打开的最大文件描述符数量。
进程数(processes
):限制用户可以同时运行的最大进程数。
锁内存(locked memory
):限制进程可以锁定的最大内存量。
信号处理(sigpending
):限制进程可以挂起的最大信号数量。
消息队列(msgqueue
):限制进程可以使用的最大消息队列大小。
共享内存(shmem
):限制进程可以使用的最大共享内存大小。
堆栈大小(stack size
):限制进程的堆栈大小。
要查看当前用户的资源限制,可以使用以下命令:
ulimit -a
要临时修改某个资源的限制,可以使用 ulimit
命令的 -n
(文件描述符)、-m
(内存)、-t
(CPU 时间)等选项。例如,要将文件描述符的限制设置为 2048,可以使用以下命令:
ulimit -n 2048
要永久修改用户的资源限制,可以编辑 /etc/security/limits.conf
文件。在该文件中,可以为特定用户或用户组设置资源限制。例如,要将用户 username
的文件描述符限制设置为 2048,可以在 /etc/security/limits.conf
文件中添加以下行:
username soft nofile 2048
username hard nofile 2048
请注意,修改 /etc/security/limits.conf
文件后,用户需要重新登录才能使更改生效。