如何修改应用打开的文件数?

Linux基础

1 前言

一个问题,一篇文章,一出故事。
生产环境中很多程序都需要设置打开的文件数两,于是整理此文。

2 最佳实践

2.1 修改用户的limits配置

2.1.1 增加用户配置

vim /etc/security/limits.d/apache-ignite.conf

然后加入如下配置,

ignite    soft  nofile  65536
ignite    hard  nofile  65536

2.1.2 确认配置

sudo -u ignite bash -c 'ulimit -n'

可见如下提示,

65536

2.2 使用systemd设置

2.2.1 定义服务启动脚本

vim /usr/lib/systemd/system/minio.service

加入如下配置,

[Service]
#...
LimitNOFILE=65536
#...

修改完脚本后,你需要使用如下命令重载服务,

systemctl daemon-reload

启动服务,

systemctl start minio.service

2.2.2 验证配置

systemctl status minio.service

可见如下提示,

#...
 Main PID: 6435 (minio)
#...

取得PID后,可使用如下命令确认配置,

cat /proc/6435/limits

可见如下提示,

Limit                     Soft Limit           Hard Limit           Units
#...
Max open files            65536                65536                files
#...

参阅文档
====================
官方文档
————-
https://github.com/systemd/systemd/blob/main/NEWS

非官方文档
—————–
https://github.com/syncthing/syncthing/issues/5319
https://unix.stackexchange.com/questions/382877/systemd-limitnofile-capped-to-4096

没有评论

发表回复

cmd shell
如何忽略PowerShell错误邮件地址?

1 前言 一个问题,一篇文章,一出故事。 笔者使用PowerShell发送邮件时,由于收件人列表包含 …

Linux基础
如何解决KDC不支持加密类型问题?

1 前言 一个问题,一篇文章,一出故事。 笔者最近发现生产环境的sftp域用户登录异常,查看sssd …

Linux基础
如何允许应用倾听低于1000的系统端口?

1 前言 一个问题,一篇文章,一出故事。 笔者集群运行logstash发现它希望在514端口倾听,但 …