Linux 技术手札

Linux 设定开启档案上限

以下会介绍在 Linux 检查及设定开启档案数量的限制。

要检查目前系统最大开启档案的数量、可以透过查看档案 /proc/sys/fs/file-max, 例如:

# cat /proc/sys/fs/file-max
791176

以上的数值 791176,是每个帐号的 login session 下最多可开启的档案数量。

对于一台服务器,有些服务需要很大量的档案,例如 Apache 及 MySQL 等、要更改这个数值,可以使用 sysctl 指令,sysctl 的作用是在系统执行时,设定 kernel 的参数。

例如想将开启档案限制设定为 500000, 指令是这样的:

# sysctl -w fs.file-max=500000

输入以上指令后,变更会立即生效,但当重新开机后,又会回复到原来的设定值,要永久改变这个数设,要开启档案 /etc/sysctl.conf:

# vi /etc/sysctl.conf

加下以下这行:

fs.file-max=500000

储存盘案后离开,这样下次开机后也会保留这个设定。

另一种情况是,想对个别帐号设定开启档案上限,需要开启档案 /etc/security/limits.conf:

# vi /etc/security/limits.conf

在档案最后, 以以下格式的设定帐号开启档案上限, 每行一个帐号:

例如想对帐号 account01 设定 soft 及 hard limits:

储存后离开编辑器。

Exit mobile version