Resolvendo mensagem samba testparm: rlimit_max: rlimit_max (8192) abaixo do limite mínimo do Windows (16384)

5

testparm no samba pode produzir esta mensagem:

rlimit_max: rlimit_max (8192) below minimum Windows limit (16384) 

Isto parece ser resolvido aumentando o limite máximo de arquivos abertos usando este comando Linux ulimit -n 16384 ..

Esta é uma mudança segura para a caixa tipicamente Samba? Onde esta configuração deve ser armazenada para que ela fique disponível para o serviço samba durante a inicialização?

    
por jcalfee 21.05.2013 / 15:57

2 respostas

5

Primeiramente, isso é apenas um aviso. No MS Windows, o número de manipuladores de arquivos no cliente e no servidor deve ser idêntico, senão você verá a mensagem "muitos arquivos abertos" quando e. g. copiando arquivos pela rede. Versões mais recentes do Samba cuidam disso sozinhas.

No entanto, se você quiser remover esse aviso, poderá fazer isso alterando os limites de arquivos locais. É sempre útil distinguir os limites locais (usuário ou sessão) e os limites globais (em todo o sistema). Verifique seus limites globais com

 cat /proc/sys/fs/file-max

As chances são boas de que seus limites globais excedam seus limites locais. Eu acho que o limite típico do GNU / Linux está na faixa de 100k, eu não olhei em muito tempo. Você pode alterar este valor temporariamente, executando

sysctl -w fs.file-max=n

ou permanentemente editando /etc/sysctl.conf e executando sysctl -p .

Para verificar seus limites locais, mude para o usuário em questão, e. g. samba e execute

ulimit -Hn
ulimit -Sn

Isso mostrará limites rígidos e suaves para a sessão local. O limite rígido é imposto pelo sistema, enquanto o limite flexível é imposto pela sessão local. Você pode aumentar o limite flexível local até o limite máximo global, se necessário.

Você pode alterar os limites temporariamente executando

ulimit -Hn n
ulimit -Sn m

ou você pode definir limites de usuário por meio de /etc/security/limits.conf e você pode até especificar para quais usuários esses limites se aplicam, e. g.

samba soft nofile 16384
samba hard nofile 32768

Como sempre, as páginas do manual de ambos os arquivos e os comandos oferecem muito mais insight. Espero que ajude.

    
por 02.11.2014 / 11:03
3

O limite é obtido de /etc/security/limits.conf.

você mostra seu limite real com ulimit -n

você pode alterá-lo editando (ou adicionando) a linha

*               -       nofile          16385

e recarregue seu env param (ou saia do shell e entre novamente no shell).

    
por 13.03.2014 / 12:05