我正在使用 ubunto 18.04,当我redis-server
在终端上运行时,它说
# oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
# Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=11260, just started
# Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
# You requested maxclients of 10000 requiring at least 10032 max file descriptors.
# Server can't set maximum open files to 10032 because of OS error: Operation not permitted.
# Current maximum open files is 1022. maxclients has been reduced to 990 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
# Creating Server TCP listening socket *:6379: bind: Address already in use
我之前尝试通过运行来增加此限制
ulimit -n 10240
但它导致了以下错误
bash: ulimit: open files: cannot modify limit: Operation not permitted
然后我尝试通过运行来降低其值ulimit -n 1022
,令人惊讶的是它成功运行并降低了该限制。
然后我就跟着这个答案,但在echo 800000 > /proc/sys/fs/file-max
覆盖“file-max”文件后但实际上并不更改最大文件限制
$ ulimit -n
1022
这里我发现了另一个相关问题,我的案例似乎是系统C一。我尝试执行以下操作。
/etc/security/limits.conf
1)我在我的文件中添加了以下几行。
* soft nofile 4096
* hard nofile 10240
/etc/ssh/sshd_config
2)在文件中添加以下行
UsePAM=yes
3)在“/etc/pam.d/sshd”文件中添加以下内容
session required pam_limits.so
但还是没有效果。ulimit -n
命令仍然显示 1022。