printk문에 노이즈가 있네요

hados의 이미지

커널 소스에서 어떤 trace를 뽑기 위해서

printk() 문을 집어넣었습니다.

그리고 /etc/syslog.conf 파일에서

kern.* /var/log/trace.txt

식으로 해 줬습니다.

그런데 집어 넣은 곳이 read() system call이 발생하면 호출되는

함수들 쪽에 있어서 매우 빈번히(?) 로그가 발생하는 관계로

중간에 끊기거나 아니면 중복되는 등....몇 몇 라인들은 깨져

있더라구요. 그래서 이런 라인들은 삭제하고 나서 분석을 하는데요

커널에서 printk() 문으로 출력되는 데이터를 손상 없이

저장할 수 있는 방법은 없을까요?

p.s

syslog.conf 의 man page를 보면 저장할 파일에다가 '-'옵션을

주면 sync를 안 해서 log를 많이 할 경우에 성능에 좋다.....

식으로 설명이 있어서

kern.* -/var/log/trace.txt

식으로 해 놓았었는데 깨지는 부분은 여전히 있더군요..

p.s.2

당연히 /etc/syslog.conf 수정하고는 syslogd 재시작 했습니다 :)

fromdj의 이미지

lock 을 걸면 어떤가요.

^^ be cool ~
http://fromdj.pe.kr