시스템이 갑자기 종료되기 전에 syslog
파일( )이 가능한 최신 로그를 캡처하지 못하는 것 같습니다 . /var/log/messages
(내 Linux 시스템이 실행 중이었는데 갑자기 전원이 꺼졌습니다.) syslog
갑자기 종료되기 전에 가능한 최대 로그가 캡처되도록 하려면 어떻게 해야 합니까?
답변1
후기입 캐싱 및 시간 초과를 최소화하거나 비활성화합니다.
/proc/sys/vm/dirty_background_ratio
dirty_ratio
dirty_expire_centisecs
dirty_writeback_centisecs
답변2
시스템이 충돌할 수 있는 방법에는 두 가지가 있습니다.
정상적인 종료: 이 경우 시스템에서 실행 중인 모든 프로세스는 종료되기 전에 버퍼를 디스크에 플러시하여 일부 로그를 작성할 기회를 갖습니다. 이 경우에는
/var/log/messages
다음과 같은 내용을 볼 수 있습니다.kernel: Kernel logging (proc) stopped.
rsyslogd: exiting on signal 15.
filesystem
갑작스러운 종료: 이 시점에서 애플리케이션은 로그에 쓰거나 데이터를 디스크에 플러시할 기회가 없습니다 . 그러나 이것이 직면한 상황이라면 예를 들어HDD , SSD and power supply [ for any unwanted fluctuations ]
문제를 효과적으로 디버깅하기 위해 시스템 하드웨어를 확인하는 것이 좋습니다.
그러나 수단적으로 데이터는 캐시에서 디스크로 유지되는 경우가 많습니다. sync
파일 시스템 버퍼를 플러시하는 명령을 주기적으로 실행해 볼 수 있습니다 . 더 많은 결제를 원하시면man sync
답변3
시스템에서 rsyslog 이전 형식을 사용 /etc/rsyslog.conf
하고 다음과 같은 줄을 사용하는 경우
*.=info;... -/var/log/messages
-
파일 이름 앞의 접두사를 제거하면 syslog가 각 쓰기 후에 파일을 동기화하게 됩니다. 바라보다일반 파일.