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

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基础
如何安装配置Oracle客户端?

1 前言 一个问题,一篇文章,一出故事。 笔者生产环境有一台服务器需要连接Oracle数据库,于是整 …

Linux基础
如何VIM替换Windows平台的换行符?

1 前言 一个问题,一篇文章,一出故事。 笔者打开一个之前在DOS平台编辑过的java配置文件发现没 …

Linux基础
如何输出HTML代码的空格?

1 前言 一个问题,一篇文章,一出故事。 笔者写博客文章喜欢使用文本编辑器,文章需要用到HTML的空 …