SystemMaxFileSize보다 작은 시스템 저널 파일

SystemMaxFileSize보다 작은 시스템 저널 파일

사용 가능한 디스크 공간이 1T 이상인 CentOS 7을 실행하는 시스템이 있습니다. systemd 버전은 219입니다. 다음 설정으로 저널을 구성했습니다.

Storage=persistent
SplitMode=none
SystemMaxUse=50G
SystemMaxFileSize=1G
#MaxFileSec=1month (default)

그러나 결과 저널 파일은 1G보다 작으며 이 스크린샷에서 볼 수 있듯이 약 500M로 잘립니다.

여기에 이미지 설명을 입력하세요

시스템을 집중적으로 테스트하고 있는데 로그가 하루에 1G 이상으로 채워지므로 MaxFileSec이 시작되는 것이 아닙니다. 그룹 ID가 파일에 따라 다르다는 점을 언급했는데 이것이 단서일 수도 있습니다. 하지만, 스크린샷의 타임스탬프를 보면, 상단에 있는 두 개의 로그 파일은 더 이상 채워져 있지 않은 것 같습니다.

내 질문은 저널 파일의 크기가 구성된 1G에 도달하지 못하는 이유는 무엇입니까?

편집: 아래 Mark가 지적한 대로 매개변수 이름을 수정했지만 시스템에서는 정확했습니다.

답변1

문서의 어떤 내용 man journald.conf도 로그 파일을 SystemMaxFileSize=. 문서에서는 해당 한도를 초과하지 않을 것을 약속합니다.

아마추어 독서에서C 소스코드, 내 해석은 "최소 파일 크기"가 있지만 512k에 불과하므로 여기서는 적용되어서는 안 된다는 것입니다. 증분 파일 증가 할당과 관련된 "FILE_SIZE_INCREASE"도 있습니다. 내 독서는 회전이 발생하기 전에 파일 크기가 SystemMaxFileSize의 8MB 내에서 커질 것으로 예상하는 것입니다.

전체 systemd소스 트리에서 를 검색하면 SystemMaxFileSize위에 링크된 ".c" 파일의 "max_size" 변수로 변환되는 것을 볼 수 있습니다.

문서가 질문에 완전히 대답하지 않았으므로 관련 소스 코드를 읽으면 원하는 동작에 대한 더 완전한 통찰력을 얻을 수 있습니다.

관련 정보