在 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 文件后,用户需要重新登录才能使更改生效。