resposta: tente "man limits.conf" Faz parte do PAM: módulos de autenticação plugáveis
Estes limites são aplicáveis apenas quando se usa um programa que foi construído para usar o PAM, geralmente fazendo uma autenticação (por exemplo: login, su, sudo, ssh, ...). Quando você loga como root (via login, su, sudo, ...), você está autenticando, então seu sistema está usando as várias configurações do PAM, incluindo o limits.conf.
Quando o sistema inicializa, não há autenticação, portanto, nenhuma configuração do PAM é lida. Seu daemon usará as configurações padrão. Se mais tarde você (re) iniciar a partir do root (por exemplo usando o sudo su - no Ubuntu), então o seu shell atual obtém as configurações de limits.conf e o que for executado por ele também irá herdá-las.
possíveis soluções: Como o root pode sobrescrever os limites de qualquer forma, você deve alterar as configurações no script de inicialização do (s) daemon (s). Por exemplo, com ulimit (pesquisa dentro de "man bash")
Você também pode tentar usar uma construção como: su - -c 'daemon ... = myprocess' em seu script de inicialização. Talvez esse su adicional use o PAM e mude os limites. Eu não sei. Diga-nos!