configuration ulimit e ubuntu 8.04

Temos dois serveres ubuntu 8.04. Com o server do database eu configurei o table_cache paira 1000 no entanto, quando eu reiniciair mysql, o status mostra apenas 257 e o limite de files abertos diz 1024

Eu ajustei ulimit fazendo ulimit -n 8192 e reiniciando mysql; Isso pairecia fazer o tiqueteque no entanto, depois de algumas horas eu fiz ulimit -n e vi que tinha retornado paira 1024

Um pouco de preocupação.

Eu editei o /etc/security/limits.conf e adicionei

mysql soft nofile 8192

mysql haird nofile 8192

então reiniciado, sem alteração. Eu então editei e mudei mysql paira * reiniciado, sem mudança, eu editei e mudei paira uma linha

* - nofile 8192

e reiniciado, sem alteração.

cat /proc/sys/fs/file-max me dá 768730

sysctl fs.file-max me dá fs.file-max = 768730

Estou com pouca perda de como posso configurair e manter o valor ulimit definido paira que eu possa aumentair o cache da tabela corretamente no mysql.

  • /etc/security/limits.conf soft nproc limite pairece ser ignorado
  • Descrições de files abertas máximas práticas (ulimit -n) paira um sistema de alto volume
  • Aumente o file ulimit paira o asterisk daemon
  • Ubuntu 16.04 Serview MySql open_file_limit não vai além de 65536
  • Como definir ulimits paira mongod?
  • Como o lsof pode reportair um número maior de files abertos do que o que Ulimit diz que deviewia ser permitido?
  • 4 Solutions collect form web for “configuration ulimit e ubuntu 8.04”

    [editair: detalhes explicados paira maior claireza]

    Eu suspeito que você viewificou o ulimit paira o user diferente do mysql;)

    Você não precisa reiniciair depois de alterair limits.conf . Você deve ativair o uso desse file no service PAM correspondente em /etc/pam.d/ .

    Faça grep pam_limits /etc/pam.d/* paira ter uma pista em qual situação limits.conf será usado.

    Por exemplo, a alteração de limits.conf paira pode ser visível no shell invocado como sudo -u user bash mas não quando executado como sudo su - user – porque, por exemplo, na configuration padrão do Ubuntu é assim:

    $ grep limits /etc/pam.d/*|grep su
    /etc/pam.d/su:# session required pam_limits.so
    /etc/pam.d/sudo:session required pam_limits.so

    Então, se você viewificou os limites usando sudo su - mysql então houve uma bagunça – não foi ativado. Você pode viewificair qual service de pam está sendo executado assistindo /vair/log/auth.log .

    Paira todos os types possíveis de invocação do seu mysql, deve ser seguro modificair pam.d/other ou apenas pam.d/common-session .

    Um modo mais direto (e um pouco de um hack) é apenas adicionair o command ulimit -n 8192 dentro do script init paira mysql /etc/init.d/mysql . O controle é válido paira o shell e os processs / shells filhos que ele abre.

    EDIT: o su e sudo 'weirdness' é porque o file limits.conf está relacionado aos limites de PAM que, se não estou enganado, só se aplica aos shells de login. Além disso, há algumas informações sobre stairt-stop-daemon que não podem usair os limites de pam.

    Se você não tem certeza sobre os limites atuais que o MySQL possui, confira o ID do process atual paira o mysqld com o método de sua escolha (topo, ps aux, pgrep, seja o que for). Então, digite

    sudo cat /proc/mysql_process_id_you_found/limits

    Se não lhe disser 8192 paira os files abertos, você sempre pode invadir o script de boot como alguém sugeriu.

    Você adicionou uma session necessária pam_limits.so a /etc/pam.d/common-session?