다음 지침과 같이 특정 PID가 아닌 순서대로 PID를 시도하고 싶습니다.
perf stat -p <PID> -e cycles,instructions,cache-references,cache-
misses,bus-cycles -a sleep 10
#this is example of 1 specefic PID
perf stat -p 3347 -e cycles,instructions,cache-references,cache-misses,bus-cycles -a sleep 10
모든 PID를 시도하고 싶은데 모든 PID를 시도하려면 <PID> 대신 무엇을 써야 할지 모르겠습니다.
답변1
반복하고 싶다면모두시스템에서 실행 중인 pid( /proc
dir이 필요하며 와 다름 Mac/*BSD
):
for pid in /proc/[0-9]*; do printf '%s\n' "${pid##*/}"; done
그래서:
for pid in /proc/[0-9]*; do
perf stat -p "${pid##*/}" -e cycles,instructions,cache-references,cache-misses,bus-cycles -a 2>&1 >> perf.txt
sleep 10
done
반대로 리소스 집약적인 프로세스를 기반으로 하려는 경우 top
다음과 같은 방법이 있습니다.
for pid in $(top -bn1 | awk '/ PID /{p=1;next}(p==1){print $1}'); do ...
삭제되었습니다 n1
.top
Mac/*BSD