Pesquisar este blog

segunda-feira, 5 de julho de 2010

Mudando a partição /tmp

É muito comum em servidores LINUX com CPANEL a partição /tmp ficar "lotada", devido a falta de espaço, pois o CPANEL por padrão cria a /tmp apenas com 512kbytes de espaço - o que pode ser muito pouco em sistemas de uso pesado com muitos domínios hospedados.

Alguns motivos para a partição /tmp ficar cheia:
  • Operações de reparo com o Mysql que requerem aumento temporário de espaço
  • Scripts PHP - principalmente sessions do PHP
  • Spamassassim e sistemas similares
  • Scripts "perdidos" com dados de armazenamento que não foram fechados/deletados ao final da execução (o mais comum na verdade).
Para evitar este tipo de problema, a dica é aumentar a partição /tmp (lembre-se que durante o processo o mysql deixará de funcionar/responder) Execute:
/etc/init.d/chkservd stop
/etc/init.d/mysql stop
umount /var/tmp
umount /tmp
sed -i -e 's/512000/2048000/g' /scripts/securetmp
rm /usr/tmpDSK
/scripts/securetmp --auto
cd /tmp
ln -s /var/lib/mysql/mysql.sock
/etc/init.d/mysql start
/etc/init.d/chkservd start
Estes comandos criarão a partição /tmp com 2gbs de espaço livres. Caso você receba a mensagem de que a partição /tmp está em uso, verifique qual processo esta sendo armazenado na mesma e mate o processo antes de iniciar os comandos acima:
lsof /tmp
E mate o processo com:
kill –9

3 comentários:

Marcelo F disse...

Que outros problemas podem criar o diretoio tmp cheio ? Não vejo muito motivo para aumentar o seu espaço.

AlexC disse...

O maior problema Marcelo além dos apontados é o mysql - em bancos com tabelas INOBD a falta de espaço durante a aplicação é fatal 0 impossível reparar/recuperar.

AlexC disse...

Complementando, também é possivel apenas alterar o valor do espaço em disco criado no /scripts/securetmp:

sed -i -e 's/512000/2048000/g' /scripts/securetmp

E simplesmente rebotar o servidor logo após.