2010-08-10 3 views
2

"TAIL -n -0 -F filename"을 수행하여 로그 파일을 모니터링하고 있습니다. 그러나 로그 파일에 많은 메시지가 기록되므로 CPU 사용량이 많이 소요됩니다. 방법이 있습니까, 나는 파일을 열고 새로운/몇 가지 항목을 읽고 그것을 닫고 매 5 초 간격으로 그것을 반복 할 수 있습니까? 파일을 계속 지킬 필요가 없습니까? 다음 실행에서 다음 읽기 라인을 기억하는 방법은 무엇입니까? 꼬리 쉘 cmd를 생성하여 nawk에서이 작업을 수행하려고합니다.tail 대신 -F

+0

설명하는 내용은 tail -f가 내부적으로 수행하는 작업과 정확히 동일합니다. 본질적으로 더 긴 지연 시간을 사용하는 것에 대해 이야기하고 있습니다. 그래도 모든 라인을 볼 필요가 있다면, 하드웨어가 제한 될 것입니다. – Gary

답변

1

자신의 구현을 작성하여 마술처럼 적은 리소스로 파일 꼬리를 처리 할 수 ​​없습니다. 파일이 빠르게 커지고 있기 때문에 tail -f가 자원을 사용하고 있다면 사용자 정의 버전은 작성중인 모든 행을 계속 보려는 경우에는 도움이되지 않습니다. 하드웨어 I/O 및/또는 CPU에 의해 제한됩니다.

1

--sleep-interval=S을 사용해보십시오. "S"는 초입니다 (기본값은 1.0 - 소수를 지정할 수 있음).

tail -n 0 --sleep-interval=.5 -F filename 

당신이 tail가 CPU를 늦추지되어 많은 로그 항목이있는 경우, 당신은 어떻게 그 (것)들을 모니터링 할 수 있습니까?