FreeBSD 打开文件数限制

samba报错smbd’s max open files = 16384
一般是系统的open flies限制

查看系统限制:
[root@storage ~]# sysctl -a | grep maxfiles
kern.maxfiles: 12328
kern.maxfilesperproc: 11095
kern.openfiles: 8760
FreeBSD 8.2,默认系统打开文件数12328,每进程打开文件数11095,kern.openfiles是系统当前打开文件数。

设置新的系统限制:
[root@storage ~]# sysctl kern.maxfiles=65536
[root@storage ~]# sysctl kern.maxfilesperproc=32768

查看某个进程的系统限制,nofile就是这个进程打开文件数的限制
24443是某个smbd的pid
[root@storage ~]# mount -t procfs proc /proc
[root@storage ~]# cd /proc/24443
[root@storage /proc/24443]# ls -l
total 0
-r–r–r–  1 root  wheel  0 Nov  7 20:15 cmdline
———-  1 root  wheel  0 Nov  7 20:15 ctl
———-  1 root  wheel  0 Nov  7 20:15 dbregs
-r–r–r–  1 root  wheel  0 Nov  7 20:15 etype
lr–r–r–  1 root  wheel  0 Nov  7 20:15 file -> /usr/local/sbin/smbd
———-  1 root  wheel  0 Nov  7 20:15 fpregs
-r–r–r–  1 root  wheel  0 Nov  7 20:15 map
———-  1 root  wheel  0 Nov  7 20:15 mem
———-  1 root  wheel  0 Nov  7 20:15 note
———-  1 root  wheel  0 Nov  7 20:15 notepg
———-  1 root  wheel  0 Nov  7 20:15 osrel
———-  1 root  wheel  0 Nov  7 20:15 regs
-r–r–r–  1 root  wheel  0 Nov  7 20:15 rlimit
-r–r–r–  1 root  wheel  0 Nov  7 20:15 status
[root@storage /proc/24443]# cat rlimit
cpu -1 -1
fsize -1 -1
data 34359738368 34359738368
stack 536870912 536870912
core -1 -1
rss -1 -1
memlock -1 -1
nproc 5547 5547
nofile 32768 32768
sbsize -1 -1
vmem -1 -1
npts -1 -1
swap -1 -1

/etc/login.conf可以配置某个用户的系统资源限制,默认是无限制的,就是受限于系统内核限制

/etc/sysctl.conf里面配置对开机启动的服务无效

/boot/loader.conf里面配置对开机启动的服务有效

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据