( 이 질문 은 비슷한 문제를 다루지 만 회전 된 로그 파일에 대해 이야기합니다.)
오늘 나는 매우 낮은 /var
공간 에 관한 시스템 메시지를 받았습니다 .
평소와 같이 나는 라인의 명령을 실행 sudo apt-get clean
하여 시나리오를 약간 개선했습니다. 그런 다음 회전 로그 파일을 삭제하여 다시 거의 개선되지 않았습니다.
조사 결과 나는 로그 파일 중 일부 /var/log
가 매우 큰 것으로 자랐 음을 발견했습니다 . 구체적으로 말하면 ls -lSh /var/log
,
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
보시다시피, 처음 두 가지는 문제가되는 것들입니다. 왜 이렇게 큰 파일이 회전되지 않았는지 약간 놀랐습니다.
그래서 내가 무엇을해야하니? 이러한 파일을 삭제 한 다음 재부팅 하시겠습니까? 아니면 좀 더 신중한 조치를 취 하시겠습니까?
우분투 14.04를 사용하고 있습니다.
업데이트 1
우선, 시스템은 몇 개월 전입니다. 하드 디스크 충돌 후 몇 달 전에 처음부터 시스템을 설치해야했습니다.
이제이 답변 에서 조언 했듯이 먼저을 사용하여 문제가되는 로그 파일을 확인 tail
했습니다. 그런 다음 심층 검사를 위해 동일한 답변 에서이 스크립트를 실행했습니다 .
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
이 과정에는 몇 시간이 걸렸습니다. 결과물은
/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
내 홈 디렉토리입니다. 찾을 수 있듯이
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
프로세스가 한계를 뛰어 넘고 싶어하는 이유는 실제로 내 이해 범위를 벗어납니다. 시스템 업데이트 후에도 계속 진행된다면이 포럼에서 다른 질문을하고 싶을 것입니다.)
그런 다음 이 답변 ( 더 깊은 이해 를 위해 이것을 확인하고 싶을 수도 있음 )에서 나는
sudo su -
> kern.log
> syslog
이제이 파일의 크기는 0입니다. 재부팅 전후에 시스템이 정상적으로 실행되고 있습니다.
앞으로 며칠 안에이 파일들을 (다른 사람들과 함께)보고
, 라인 밖에서 작동하는지 다시보고 할 것입니다.
마지막으로, 문제가되는 파일 ( kern.log
및 syslog
)은 grep
내부 의 파일 검사 ( 도움말)
에 따라 회전되도록 설정되어 있습니다 /etc/logrotate.d/
.
업데이트 2
로그 파일은 실제로 회전됩니다. 하루 만에 큰 사이즈가 된 것 같습니다.