Efter mycket letande fann jag till slut att systemd har en standardgräns på 4096 och oavsett vad du ställer in på systemnivå kommer systemd-nivån alltid att ha företräde. Korrigeringen för detta är att ändra systemds öppna filgräns genom att redigera /etc/systemd/system.conf och lägga till följande inställning
DefaultLimitNOFILE=65536
Det verkar som att det finns många standardinställningar i systemd som åsidosätter systeminställningarna så måste ställas in i systemd
Så om det är till någon nytta för människor är det här mina slutliga inställningar för en Ubuntu 16.04-server för att köra produktionsredis.
Redigera /etc/systemd/system.conf (sudo nano /etc/systemd/system.conf) och lägg till
DefaultLimitNOFILE=65536
Redigera /etc/security/limits.conf (sudo nano /etc/security/limits.conf) och lägg till
* soft nofile 64000
* hard nofile 64000
root soft nofile 64000
root hard nofile 64000
Redigera /etc/pam.d/common-session (sudo nano /etc/pam.d/common-session) och lägg till
session required pam_limits.so
Redigera /etc/pam.d/common-session-noninteractive (sudo nano /etc/pam.d/common-session-noninteractive) och lägg till
session required pam_limits.so
Redigera /etc/rc.local (sudo nano /etc/rc.local) och lägg till
sysctl -w net.core.somaxconn=65535
Redigera /etc/sysctl.conf (sudo nano /etc/sysctl.conf) och lägg till
vm.overcommit_memory = 1
Redigera /etc/rc.local (sudo nano /etc/rc.local) och lägg till
echo never > /sys/kernel/mm/transparent_hugepage/enabled