![리눅스에서 모든 PID를 사용해보십시오](https://linux55.com/image/214514/%EB%A6%AC%EB%88%85%EC%8A%A4%EC%97%90%EC%84%9C%20%EB%AA%A8%EB%93%A0%20PID%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%B4%EB%B3%B4%EC%8B%AD%EC%8B%9C%EC%98%A4.png)
다음 지침과 같이 특정 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