문서유형ㅣ기술정보
분야ㅣ관리/환경설정
적용제품버전ㅣTibero6, Tibero7
문서번호ㅣTADTI192
개요
SLOG_FILE_SIZE = 100M, SLOG_TOTAL_SIZE_LIMIT = 300M과 같이 설정된 경우, 일반적으로 사용자는 다음과 같은 로그 파일 구성을 기대합니다.
사용 중인 SLOG 파일 1개
100M 크기의 백업 로그 파일 2개
즉, 총 3개의 로그 파일이 존재할 것으로 예상할 수 있습니다.
그러나 특정 상황에서는 로그 파일 확인 시 다음과 같이 두 개의 파일만 존재하는 경우가 있습니다.
현재 사용 중인 SLOG 파일 (예: 15M)
백업 로그 파일 (예: 101M)
로그 파일의 용량 체크는 AGENT에서 lazy하게 동작하며, 로그 파일 사이즈 체크는 1초 주기로 수행됩니다.
SLOG에 에러 코드가 매우 지속적으로 발생하는 경우(예: 1초에도 수십 번씩 에러가 발생하는 경우), 로그 파일의 용량이 정확히 100M가 아니라 101M 정도로 약간 증가한 상태에서 용량 체크가 이루어질 수 있습니다.
이때 새 파일을 여는 시점에 시스템은 앞으로 사용할 최대 용량을 미리 더해 SLOG_TOTAL_SIZE_LIMIT을 초과하지 않도록 처리합니다. 이 과정에서 가장 오래된 백업 로그 파일을 먼저 삭제하게 되므로, 결과적으로 로그 파일이 3개 생성되지 않을 수 있습니다.
방법
로그 로테이션이 다음과 같은 상황에서 동작한다고 가정합니다.
log rotate (size limit 300)
| 백업_old 100M 백업 100M 현재 작성중 101M 새로 열 파일(최대 100M) | 백업_old 삭제 백업 100M 현재 작성중 101M 새로 열 파일(최대 100M) | 백업 삭제 현재 작성중 101M 새로 열 파일(최대 100M) | 백업 101M 새로 열 파일 (-> 현재 남아있는 15M 파일) |
| 401M ( > size limit ) | 301M ( > size limit ) | 201M | 현재상황 |
즉, 새 파일을 여는 시점에 앞으로 사용할 최대 용량을 미리 더해 size limit을 지키도록 동작하는 것이 정상적인 동작입니다.
따라서 실제 용량에 여유가 있어 보이더라도, 내부 동작 방식에 의해 로그 파일의 개수가 기대보다 적게 보일 수 있습니다.