# journald 로그가 너무 클 때: 저널 크기 확인 및 제한 방법

많은 Linux 서버에서 systemd 저널이 조금씩 커져 /var에서 가장 큰 항목이 되곤 해요. 저널 크기를 확인하고, 한 번 정리하고, 작게 유지되도록 제한을 설정할 수 있어요. 다른 로그 파일은 건드리지 않아요.

## 1. 저널이 차지하는 공간 확인

journalctl --disk-usage를 실행하세요. 보관된 저널 파일과 활성 저널 파일의 전체 크기가 출력돼요. 이 파일들은 보통 /var/log/journal(영구 저장) 또는 /run/log/journal(메모리에만 유지)에 있어요.
/var/log/journal 디렉터리가 없으면 시스템이 저널을 메모리에만 보관하고 있을 수 있으며, 이 경우 표시되는 크기는 디스크가 아닌 RAM에 의해 제한돼요.

## 2. 한 번 정리하기

저널을 특정 크기 이하로 유지하려면 sudo journalctl --vacuum-size=500M을 실행하세요. 최근 항목만 남기려면 sudo journalctl --vacuum-time=14d를 실행하세요. 두 명령 모두 오래된 보관 저널 파일을 삭제하며, 그 안에 있던 로그는 나중에 복구할 수 없어요.
journalctl --disk-usage를 다시 실행해 확인하세요. 정리는 보관된 파일 단위로 삭제하므로, 결과가 목표 크기보다 조금 크거나 작을 수 있어요.

## 3. 영구 제한 설정

/etc/systemd/journald.conf를 열거나 /etc/systemd/journald.conf.d/에 드롭인 파일을 만들고, [Journal] 섹션 아래에 SystemMaxUse=500M을 설정하세요. 여유 공간도 확보하려면 SystemKeepFree=1G를 사용할 수도 있어요. SystemMaxUse는 영구 저널을 제한하고, RuntimeMaxUse는 메모리 내 저널을 같은 방식으로 제한해요.
sudo systemctl restart systemd-journald로 적용한 다음, 잠시 후 journalctl --disk-usage를 확인하세요.

## 4. 보관할 내용 정하기

저널이 작아지면 디버깅에 쓸 수 있는 기록이 짧아져요. 특정 서비스의 기록을 더 오래 보관해야 한다면, 모든 로그를 서버에 두는 대신 해당 로그를 다른 곳으로 전송하세요.
어떤 서비스가 로그를 가장 많이 쓰는지 살펴보세요. journalctl -b -p warning --no-pager | tail은 최근 경고를 보여 주며, 분당 수천 줄을 기록하는 서비스는 원인부터 해결하는 것이 좋아요.

## FAQ

**journalctl --vacuum-size를 실행해도 안전한가요?**

시스템 자체에는 안전해요. 오래된 보관 저널 파일만 삭제하거든요. 해당 로그 기록은 사라지므로, 먼저 조사에 필요하지 않은지 확인하세요.

**journald.conf를 수정한 후 다시 시작해야 하는 것이 있나요?**

systemd-journald(sudo systemctl restart systemd-journald)를 다시 시작하세요. 그때부터 제한이 적용되며, 저널이 순환되면서 오래된 파일이 정리돼요.

**/var/log/journal이 없는 이유는 무엇인가요?**

영구 저장이 꺼져 있거나, 디렉터리 없이 auto로 설정되어 있기 때문이에요. 이 경우 저널은 메모리의 /run/log/journal 아래에 있고 재부팅하면 사라져요. 영구 저장이 필요할 때만 /var/log/journal을 만들고 journald를 다시 시작하세요.

Source: https://raincleaner.eu/ko/guides/journald-logs-too-big-limit-journal-size