"perf"를 사용하여 벽시계 시간을 기준으로 스택 샘플을 얻는 방법

"perf"를 사용하여 벽시계 시간을 기준으로 스택 샘플을 얻는 방법

저는 Linux perf_events프레임워크를 사용하여 우리 서버 중 하나에 있는 애플리케이션의 문제를 조사하려고 합니다. perf도구에 대해 읽은 내용에 따르면 스택을 수집하는 것은 비교적 간단합니다.

단순히 N초마다 스택을 수집하는 이벤트로 벽 시간을 사용할 수 있는지 궁금합니다.

현재 사용하고 있는 명령은 다음과 같습니다.

perf record -e cycles -T -o <dir>/samples.data -F 1 --call-graph dwarf -T -p <pid>

현재 이해에 따르면 명령은 -F 1perf 명령이 신호에 의해 종료될 때까지 1초마다 프로세스()에서 샘플링()하고 스택()을 가져옵니다.-g-p <pid>

그런데 제가 수집한 데이터에 따르면 초당 샘플 세트가 두 개 이상인 것 같은데요? 그래서 샘플 수집 방식을 오해하거나 오해한 것 같습니다 perf.

또한 수집되는 데이터의 양을 줄이기 위해 2초, 5초 또는 10초마다 스택을 기록하려면 어떻게 해야 합니까? 이것을 달성할 수 있는 방법이 있나요 perf?

관련 정보