2015-01-20 9 views
0

나는 디스크 IO에서 일부 추적 파일을 생성하려면,하지만 난을 해결하기 위해 노력했습니다실제 입 력 값으로 디스크 입출력 추적을 얻으려면 어떻게합니까?

문제 등, 내가 타임 스탬프, 논리 주소 및 액세스 블록 크기와 함께 실제 입력 데이터를이 필요하다 "blktrace | blkparse"과 "iozone"을 사용하여 우분투 VirtualBox 환경에서 문제가 발생하지만 작동하지 않는 것 같습니다.

패킷 데이터 -f "% P"를 표시하도록 출력 형식을 설정하는 blkparse 옵션이 있지만 아무것도 인쇄하지 않습니다. 인쇄 형식

$> sudo blktrace -a issue -d /dev/sda -o - | blkparse -i - -o ./temp/blktrace.sda.iozone -f "%-12C\t\t%p\t%d\t%S:%n:%N\t\t%P\n" 
$> iozone -w -e -s 16M -f ./mnt/iozone.dummy -i 0 

"% -12C \ t \ t % P \ t % D \ t % S : %의 N %의 N \ t \ 아래

제가 사용하는 명령이다 t % P \ n ", 다른 모든 것은 잘 인쇄되지만"% P "는 전혀 인쇄되지 않습니다.

왜 패킷 데이터가 표시되지 않는지 아는 사람이 있습니까? 또는 실제 입력 값으로 디스크 IO 패킷 데이터를 가져 오는 다른 방법을 알고있는 사람?

답변

0

알고있는 한 blktrace은 실제 데이터를 캡처하지 않습니다. 그냥 메타 데이터를 캡처합니다. 실제 데이터를 캡처하는 한 가지 방법은 자신의 커널 모듈을 작성하는 것입니다. http://vger.kernel.org/majordomo-info.html

: "I/O deduplication: Utilizing content similarity to ..."

내가뿐만 아니라 리눅스 btrace 메일 링리스트에서이 질문을합니다 : FIU.edu에서 일부 학생들은이 논문에서 그랬어