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

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

没有评论

发表回复

Linux基础
如何加密解密压缩包文件?

1 前言 一个问题,一篇文章,一出故事。 笔者最近需要加密压缩文件,因此整理此章节。 2 最佳实践 …

Linux基础
如何查询IP地址的归属地?

1 前言 一个问题,一篇文章,一出故事。 最近发现百度推荐的IP地址归属地查询很不靠谱,要么要注册要 …

Linux基础
如何替代线上的网络和IP地址计算器?

1 前言 一个问题,一篇文章,一出故事。 以往我们需要知道某个网段的范围,也懒得自己取计算。 通常就 …