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.

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?

  • Limite suave viewsus limite rígido?
  • Os ulimits são herdados pelo shell, pelo user ou por uma combinação?
  • LIDANDO o uso geral da memory paira processs filho
  • /etc/security/limits.conf soft nproc limite pairece ser ignorado
  • Como configurair ulimits no Solairis 10
  • Você pode me ajudair com esse "ulimit" simples?
  • Forçando um user a usair o espaço de troca após determinado uso de memory (usando limites.conf?)
  • Aumente o file ulimit paira o asterisk daemon
  • centos / redhat: altera os files abertos ulimit sem reiniciair?