配置 limits.conf
本文介绍如何通过配置 limits.conf 限制进程数量。
如果您是个人用户,您可以跳过此步骤。如果您是企业用户,建议配置 limits.conf。
修改资源限制可通过如下方法:
通过配置文件 /etc/security/limits.conf 在全局级别修改。
seekdb 的进程涉及的限制包括线程最大栈空间大小(Stack)、最大文件句柄数(Open Files)和 core 文件大小 (Core File Size)。
更改配置
将会话级别的最大栈空间大小设置为 unlimited,最大文件句柄数设置为 655350,Core 文件大小设置为 unlimited。
执行以下命令,打开 /etc/security/limits.conf 配置文件:
sudo vim /etc/security/limits.conf
在 /etc/security/limits.conf 配置文件中添加以下内容:
* soft nofile 655350
* hard nofile 655350
* soft stack unlimited
* hard stack unlimited
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited
信息
- 您需查看
/etc/security/limits.d/20-nproc.conf文件中是否存在 nproc 的配置,若存在需同步修改该文件中 nproc 的值。 - limits.conf 的配置仅对新登录的会话生效(如新打开的终端、SSH 连接或新启动的进程)。当前已存在的会话或进程不会自动继承新配置,需要重新登录或重启相关服务。
查看配置
退出当前会话,重新登录。执行以下命令,查看配置是否生效。
ulimit -a
输出如下。
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 252876
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 655350
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) 655360
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
从结果中可以看出:
-
core file size 表示核心文件的最大阈值(以块为单位),对应
limits.conf配置文件中的 core 参数,需查看值是否为 unlimited。 -
open files 表示最大打开文件描述符数,对应
limits.conf配置文件中的 nofile 参数,需查看值是否为 655350。 -
stack size 表示堆栈大小(以千字节为单位),对应
limits.conf配置文件中的 stack 参数,需查看值是否为 unlimited。 -
max user processes 表示最大用户进程数,对应
limits.conf配置文件中的 nproc 参数,需查看值是否为 655360。