Use toda a memória do sistema no Solaris

3

Estou fazendo testes de servidor e intencionalmente tentando travar um servidor virtual Solaris usando toda a memória. O servidor tem um limite de 15 GB (várias centenas de GB de memória total do sistema / swap). Existe uma maneira direta de fazer isso usando um script shell / Perl? (Isso está em um ambiente protegido / seguro, então a única ferramenta acessível é o Perl [e o shell, é claro]).

Background: O que realmente está sendo testado é o failover de processos essenciais para outro servidor. Ultimamente, temos tido vários processos "fora de controle" e consumimos todos os recursos do sistema, causando a falha do servidor (problema separado). Estou tentando criar um cenário repetitivo simples para testar a resposta a essa situação.

    
por Joe Jack 11.12.2012 / 01:22

1 resposta

3

jlliagre responde à pergunta. E postou um link para uma boa resposta. Dê crédito a ele, não a mim.

Quando você escreve em / tmp, somente no Solaris - você está gravando na RAM não no disco. É por isso que as gravações nos arquivos / tmp são super rápidas. Uma vez que a RAM enche, o sistema irá se mover. Se você preencher completamente / tmp, então writews para / tmp tentará escrever para swap, e eventualmente o sistema falhará. Essa abordagem ignora o ulimit para a memória. Verifique se você não tem um tamanho de arquivo máximo especificado:

ulimit -a
file(blocks)         unlimited
    
por 28.12.2012 / 18:03