Ubuntu 16.04 systemd redis issues with ulimit

后端 未结 2 1698
旧时难觅i
旧时难觅i 2021-02-02 00:32

I have been having issues with our new redis server after swapping from Ubuntu 14.04 to 16.04. The configuration of the open files limit using all the guides says to change the

2条回答
  •  一整个雨季
    2021-02-02 00:58

    After much searching I finally found that systemd has a standard limit of 4096 and regardless of what you set at the system level the systemd level will always take precedence. The fix for this is to change the systemd open file limit by editing /etc/systemd/system.conf and adding the following setting

    DefaultLimitNOFILE=65536
    

    It seems that there are a lot of default settings in systemd which override the system settings so have to be set in systemd

    So if its any use for people these are my final settings for a Ubuntu 16.04 server for running production redis.

    Edit /etc/systemd/system.conf (sudo nano /etc/systemd/system.conf) and add

    DefaultLimitNOFILE=65536
    

    Edit /etc/security/limits.conf (sudo nano /etc/security/limits.conf) and add

    *    soft nofile 64000
    *    hard nofile 64000
    root soft nofile 64000
    root hard nofile 64000
    

    Edit /etc/pam.d/common-session (sudo nano /etc/pam.d/common-session) and add

    session required pam_limits.so
    

    Edit /etc/pam.d/common-session-noninteractive (sudo nano /etc/pam.d/common-session-noninteractive) and add

    session required pam_limits.so
    

    Edit /etc/rc.local (sudo nano /etc/rc.local) and add

    sysctl -w net.core.somaxconn=65535
    

    Edit /etc/sysctl.conf (sudo nano /etc/sysctl.conf) and add

    vm.overcommit_memory = 1
    

    Edit /etc/rc.local (sudo nano /etc/rc.local) and add

    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    

提交回复
热议问题