2012-05-21 7 views
1

blktrace는 특정 프로세스 하나만 추적 할 수 있습니까? 현재 blktrace는 모든 io 활동을 덤프합니다. blkparse를 사용하여 파싱하는 데 많은 시간이 걸립니다. 그러나 우리는 하나의 특정 프로세스에만 관심이 있습니다. 해당 프로세스 만 추적하도록 blktrace를 구성 할 수있는 방법이 있습니까? 그것이 I/O 성능 도구가 아닌 과정으로blktrace는 특정 프로세스 하나만 추적 할 수 있습니까?

덕분에, 제프

답변

0

아니, blktrace는 장치에서 작동합니다. 특정 블록 장치를 사용하도록 프로세스를 구성해야하지만 다른 프로세스 (사용자가 가능하면 그렇게 할 수는 없습니다)를 구성해야합니다.

+0

감사합니다. 그러나 이미이 작업을 수행하고 있습니다. 44M blktrace 덤프 파일을 12 분 구문 분석하는 많은 시스템 이벤트 메시지 (예 : cfq)가 있습니다. 정상입니까? 그것을 최적화하는 방법이 있습니까? 감사! – bilbao

+0

"blktrace -d/dev/sda -o - | blkparse -i -"를 사용하고 있습니다. blktrace를 죽이면 blkparse가 완료 될 때까지 44M을 분석하는 데 12 분이 걸립니다. – bilbao

+0

- 필터 마스크는 추적 할 수있는 이벤트 유형을 제한한다는 것을 알고있는 유일한 방법이며, 당신은 당신이 원하는 것들을 얻을 수 있지만 다른 것들은 얻을 수 없습니다. 이 제 자신과 정말로 놀지 않았습니다. 맨 페이지에는 필터 마스크에 대한 자세한 설명이 있습니다. – johnshen64

0

표준 출력으로의 데이터 출력을 피하려면 blkparse의 "-o"옵션을 사용하십시오. 이렇게하면 blkparse에 필요한 시간이 줄어 듭니다. 나는 30 초 안에 72MB를 파싱 할 수있다.