소프트웨어 업데이트(Ubuntu 업그레이드)를 하고 새 Linux 커널을 설치할 때 가끔 공간이 부족해지는데 이는 나쁜 일입니다. 이것은 systemd가 포함된 Ubuntu Bionic 18.04에 있으므로 Journald가 설치되어 있습니다.
기본적으로 Journald는 다른 프로세스를 위해 드라이브 공간의 15%를 예약하고( SystemKeepFree
) 공간의 최대 10%를 사용하도록 구성됩니다( SystemMaxUse
). 그러나 종종 이러한 가치를 넘어서는 경우가 있습니다.
그렇다면 진공청소 작업을 촉발하는 요인은 무엇입니까?
다른 작업에서 공간이 필요할 때 공간을 빠르게 확보하려면 어떻게 해야 합니까?
이전 정리 작업에 대한 로그를 검색하는 방법이 있습니까? 기록되어 있습니까?
grep 기능이 누락되었습니다. 이유는 무엇입니까? (그리고 봐라우분투 버그 1751657)
$ journalctl --grep journald
Compiled without pattern matching support
답변1
왜 초과했는지 모르겠습니다 SystemMaxUse=
. 죄송합니다.
편집: 댓글에서 @nealmcb는 아래 답변을 승인하고 저널이 가 아닌 SystemKeepFree=
을 넘을 것을 제안했습니다 SystemMaxUse=
.
다른 작업에서 공간이 필요할 때 공간을 빠르게 확보하려면 어떻게 해야 합니까?
나는 일반적으로 당신이 이것에 의존할 수 없다고 생각합니다. SystemKeepFree=
작동 방식은 다음만큼 안정적이지 않습니다 SystemMaxUse=
.
파일 시스템이 거의 꽉 찼고 systemd-journald를 시작할 때 SystemKeepFree= 또는 RuntimeKeepFree=를 위반하면 제한이 실제 사용 가능 비율로 늘어납니다. 즉, 로그 파일이 생성되기 전에 여유 공간이 충분하고 다른 이유로 파일 시스템이 가득 차면 로그는 더 이상 공간 사용을 중지하지만 공간을 다시 줄이기 위해 기존 파일을 삭제하지도 않습니다.
실행 중인 시스템에서 구성 파일을 변경하는 경우 다음을 실행하여 해당 파일을 다시 읽을 수 있습니다.systemctl restart systemd-journald
journalctl --vacuum...
예를 들어 명령 중 하나를 사용하여 수동으로 공간을 줄일 수 있습니다 journalctl --vacuum-size=500M
.
정리를 기록하는 코드가 있는 것 같지만 최근 버전에서는 메시지 우선순위가 "디버그"로 설정되어 있습니다. 아마도 이는 메시지가 기본적으로 표시되지 않음을 의미할 것입니다. 바라보다:시스템의 "정리 완료, 0바이트 해제" 메시지는 무엇을 의미합니까?