( Esta pergunta lida com um problema semelhante, mas trata de um arquivo de log alternado.)
Hoje recebi uma mensagem do sistema sobre /var
espaço muito baixo .
Como de costume, eu executei os comandos na linha dos sudo apt-get clean
quais melhoraram o cenário apenas um pouco. Em seguida, apaguei os arquivos de log rotacionados, o que novamente proporcionou muito pouca melhoria.
Após a análise, percebo que alguns arquivos de registro /var/log
cresceram muito. Para ser específico, ls -lSh /var/log
dá,
total 28G -rw-r----- 1 syslog adm 14G Aug 23 21:56 kern.log -rw-r----- 1 syslog adm 14G Aug 23 21:56 syslog -rw-rw-r-- 1 root utmp 390K Aug 23 21:47 wtmp -rw-r--r-- 1 root root 287K Aug 23 21:42 dpkg.log -rw-rw-r-- 1 root utmp 287K Aug 23 20:43 lastlog
Como podemos ver, os dois primeiros são os ofensivos. Estou levemente surpreso por que esses arquivos grandes não foram girados.
Então, o que eu deveria fazer? Simplesmente exclua esses arquivos e depois reinicie? Ou dê alguns passos mais prudentes?
Estou usando o Ubuntu 14.04.
ATUALIZAÇÃO 1
Para começar, o sistema tem apenas vários meses. Eu tive que instalar o sistema do zero alguns meses depois de uma falha no disco rígido.
Agora, como recomendado nesta resposta , verifiquei primeiro os arquivos de log incorretos usando tail
, sem surpresa. Então, para uma inspeção mais profunda, eu executei esse script com a mesma resposta .
for log in /var/log/{syslog,kern.log}; do
echo "${log} :"
sed -e 's/\[[^]]\+\]//' -e 's/.*[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}//' ${log} \
| sort | uniq -c | sort -hr | head -10
done
O processo levou várias horas. A saída estava na linha de,
/var/log/syslog : 71209229 Rafid-Hamiz-Dell kernel: sda3: rw=1, want=7638104968240336200, limit=1681522688 53929977 Rafid-Hamiz-Dell kernel: attempt to access beyond end of device 17280298 Rafid-Hamiz-Dell kernel: attempt to access beyond end of device 1639 Rafid-Hamiz-Dell kernel: EXT4-fs warning (device sda3): ext4_end_bio:317: I/O error -5 writing to inode 6819258 (offset 0 size 4096 starting block 54763121030042024) <snipped> /var/log/kern.log.1 : 71210257 Rafid-Hamiz-Dell kernel: attempt to access beyond end of device 71209212 Rafid-Hamiz-Dell kernel: sda3: rw=1, want=7638104968240336200, limit=1681522688 1639 Rafid-Hamiz-Dell kernel: EXT4-fs warning (device sda3): ext4_end_bio:317: I/O error -5 writing to inode 6819258 (offset 0 size 4096 starting block 954763121030042024)
( /dev/sda3
é o meu diretório pessoal. Como podemos encontrar,
lsblk /dev/sda NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 122.1G 0 part / ├─sda2 8:2 0 7.6G 0 part [SWAP] └─sda3 8:3 0 801.8G 0 part /home
Por que um processo deseja escrever além do limite está realmente fora do escopo da minha compreensão. Talvez eu queira fazer uma pergunta diferente neste fórum, se isso continuar mesmo após uma atualização do sistema.)
Então, a partir desta resposta (convém verificar isso para uma compreensão mais profunda), eu executei,
sudo su -
> kern.log
> syslog
Agora, esses arquivos têm tamanho zero. O sistema está funcionando bem antes e depois de uma reinicialização.
Observarei esses arquivos (junto com outros) nos próximos dias e apresentarei um relatório caso
eles se comportem fora de linha.
Como nota final, os arquivos ( kern.log
e syslog
) ofensivos estão definidos para serem rotacionados, como mostra a inspeção dos arquivos ( grep
ajudados) dentro
/etc/logrotate.d/
.
ATUALIZAÇÃO 2
Os arquivos de log são realmente girados. Parece que os tamanhos grandes foram atingidos em um único dia.