Linux Consumindo muita memória
Veja neste artigo onde trato a problemática de termos aplicações gerando Logs continuamente e como resolver esse problema.
Olá pessoal, tenho recebido muitas dúvidas quanto ao uso do Java e seu uso abusivo de memória e espaço em disco. Até certo ponto eu concordo que o Java consome mais do que promete quando se fala em relação à memória, porém isso se torna realmente necessário quando falamos de aplicações mais robustas, com vários recursos de verificação e correções à falhas. Isso tem-se tornado ainda mais constante conforme vamos escrevendo, escrevendo e escrevendo os nossos código, visto que, a tendência é corrigirmos os nossos programas e claro aumentando cada vez mais as nossas linhas de código.
Portanto, verificamos que com o tempo abusamos algumas vezes, no caso do Java do uso de Logs, uma vez que os mesmos são essenciais para analisarmos o uso, os acessos às classes, objetos etc. E com isso nos servidores normalmente superlotam os discos rígidos (HD), precisando assim uma manutenção continua na rotina do dia-a-dia.
Analisando o Espaço em Disco
Primeiramente precisamos verificar o espaço em disco, que por sua vez, espaço e memória representam CUSTO, isso mesmo DINHEIRO.
Desde os primórdios da informática, a preocupação com uso de memória, quer seja de armazenamento fixo ou temporário, é resultante de muita especulação, tempo e dinheiro, com isso temos sempre que analisar seu custo x benefício. Claro que quando mais memória, mais espaço em disco é melhor, o problema é que isso custa, e todo mundo, todas as empresas T.I ou não, querem a informática pra diminuir seus custos e não o contrário.
Bom, para verificarmos a memória num servidor, ou máquina que você estiver usando Linux e Java, use o console de comando (shell), digite:
$ df
O comando df, serve para analisarmos o quando do espaço em disco está sendo usado no momento. Ele deve mostrar algo do tipo:
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vzfs 41943040 12704976 29238064 31% /
none 2097152 4 2097148 1% /dev
Note que temos um uso até o momento de 31% do disco montado no sistema Linux, é sempre bom ficar de olho. Nesse caso não é tão preocupante, mas se você começar a notar que esse número está crescendo exponencialmente é bom ficar de olho nos LOGS, isso mesmo seu sistema e (ou) seu gerenciador de páginas no caso do uso de Java, podem estar salvando além da conta e com isso começa a superlotar seu disco rígido.Localizando os Logs do Sistema
Normalmente estão na pasta /tmp, do seu sistema operacional (Linux), mas também é bom dar uma olhada nos logs do seu aplicativo de servidor de páginas. No exemplo abaixo mostro o uso do GlassFish 3.0 no linux:
[/home/xxx/appservers/glassfish-3x/domains/domain1]# du -sh
2.4G .
Dentro da pasta localizando o seu DOMAIN, você pode digitar o comando du -sh, que mostra a quantidade usada por esse diretório e começar a sua analise.Ainda dentro da sua hierarquia de diretórios no Linux, é possível que você tenha que excluir o excesso de Logs, gerado pelo(s) seu (s) sistema(s), portanto, temos que entrar na pasta logs.
[/home/xxx/appservers/glassfish-3x/domains/domain1/logs]#
e daqui excluir manualmente da seguinte forma.:
$ rm -f server.log*
NOTE: que estamos usando o "*" coringa para excluir todos os arquivos iniciados com server.log... e portanto é necessário que você compreenda bem o que está fazendo, não me responsabilizo caso você exclua mais arquivos que precisa ou exclua na pasta errada, se estiver na dúvida, não faça e pesquise se o arquivo , ou os arquivos de sua pasta podem ser realmente excluídos. Após excluir tanto os logs do sistemas (na pasta /tmp), quando os logs do(s) seu(s) sistema(s) Java (/appservers/glassfish-3x/domains/domain1/logs) , digite o comando df , novamente para notar a diferença e ver se é o resultado esperado.:
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vzfs 52428800 5401484 47027316 11% /
none 1048576 4 1048572 1% /dev
Viu a diferença?, de 31% conseguimos diminuir para 11%.Dica
Podemos ainda automatizar essa tarefa usando outros comandos do Linux, que por sua vez é excelente quando se trata de servidores e ambientes de desenvolvimento Java, nas nossas aplicações sempre usamos servidores Linux e não temos mais problemas, porém NUNCA deixe de verificar, analisar a saúde de seus sistemas, servidores bancos de dados. Nunca apague arquivos desnecessariamente. Nunca faça nada sem ter certeza.
Fica então um forte abraço++ e até a próxima.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Revista
-
Artigo