일반적으로 grep으로 문제를 해결할 수 있습니다.
sudo intel_gpu_top | grep xyz
하지만 이 경우 intel_gpu_top은 htop과 유사하며 지속적으로 실행됩니다.
Bash 스크립트에서 필요한 정보를 어떻게 추출합니까?
내 평균 iGPU 사용량을 알고 싶은데 이것이 이를 수행할 수 있는 유일한 도구인 것 같습니다. 결과를 파일로 출력하는 옵션이 있는데 sudo intel_gpu_top -o file.txt
좀 이상하게 만들어졌고, 통계도 다르고, 이전 결과를 수동으로 덮어쓰는 대신 파일에 더 많은 콘텐츠를 추가해 파일에서 데이터를 추출하기 어렵게 만듭니다. 필요한 정보를 읽으십시오 (적어도 나 같은 bash 초보자의 경우)
편집하다:
이것이 출력이다sudo intel_gpu_top -o test.txt
Freq MHz IRQ RC6 Power IMC MiB/s RCS/0 BCS/0 VCS/0 VECS/0
req act /s % W rd wr % se wa % se wa % se wa % se wa
0 0 0 0 0.00 170 48 0.00 0 0 0.00 0 0 0.00 0 0 0.00 0 0
6 6 12 99 0.01 545 134 0.81 0 0 0.00 0 0 0.00 0 0 0.00 0 0
9 9 14 98 0.01 411 78 1.14 0 0 0.00 0 0 0.00 0 0 0.00 0 0
5 5 10 99 0.01 436 74 0.72 0 0 0.00 0 0 0.00 0 0 0.00 0 0
12 12 21 98 0.01 431 100 0.76 0 0 0.00 0 0 0.00 0 0 0.00 0 0
3 3 8 100 0.00 391 52 0.16 0 0 0.00 0 0 0.00 0 0 0.00 0 0
sudo intel_gpu_top으로 시작하세요. htop 또는 top으로 표시된다는 점을 잊지 마세요.
intel-gpu-top - 9/ 9 MHz; 98% RC6; 0.02 Watts; 17 irqs/s
IMC reads: 732 MiB/s
IMC writes: 247 MiB/s
ENGINE BUSY MI_SEMA MI_WAIT
Render/3D/0 1.65% |█▍ | 0% 0%
Blitter/0 0.00% | | 0% 0%
Video/0 0.00% | | 0% 0%
VideoEnhance/0 0.00% | | 0% 0%
저는 Render/3D/0, Blitter/0, Video/0 및 VideoEnhance/0 값에 관심이 있습니다. 실제로 두 출력이 서로 어떻게 연관되어 있는지는 모르겠지만 아이디어가 있으면 알려주시기 바랍니다.
편집: 편집:"틱"마다 결과를 얻을 수 있어서 좋았습니다. sudo intel_gpu_top이 매초마다 자동으로 업데이트될 것이라고 생각했지만 틀렸을 수도 있습니다.
답변1
GPU 버전은 잘 모르지만 top
제공된 출력으로 보면 sudo intel_gpu_top
출력의 일부를 캡처한 것 같습니다 sudo intel_gpu_top -o outfile
.
일대일 대응은 다음과 같습니다.
Render/3D/0
<>RCS/0
% 값Blitter/0
<>BCS/0
% 값Video/0
<>VCS/0
% 값VideoEnhance/0
<>VECS/0
% 값
수집된 정보 이용조지 유로슨~의답변이 사이트에서 빌려보세요그 대답SO에 있고 올바르게 귀속됨외환:
- "렌더링"(공간)은 일반적인 3D 작업의 공간 활용과 관련이 있는 것 같습니다.
- "Blitter"(엔진)는 2D 작업(블리팅)의 하드웨어 가속을 담당하는 것으로 보입니다.
- "VCS(비디오 명령 스트리밍)":
VCS 장치는 주로 운영 체제 드라이버와 MFD(Multi-Format Decoder) 엔진 [...](패킷 획득, 디코딩 및 디스패치) 간의 소프트웨어 프로그래밍 인터페이스 역할을 합니다.
바라보다이것더 많은 정보를 알고 싶다면
- "비디오 향상 명령 스트림 단위(VECS)": 이 명령 스트림 단위는 추가/VCS 개선 사항그 안에
비디오 후처리를 또 다른 새로운 구성 요소인 VEBOX로 오프로드할 수 있습니다. VEBOX 엔진은 하드웨어 기반 비디오 후처리 및 지원되는 사용자 공간 코드에 사용됩니다.
값을 정기적으로 업데이트하려면 다음을 시도하십시오.
$ sudo intel_gpu_top -o - \
| awk 'BEGIN {print "\tRender/3D/0 (%)","Blitter/0 (%)","Video/0 (%)","VideoEnhance/0 (%)\n"}
NR>=3 {printf "\t%11s%14s%12s%%19s\n" $4,$7,$10,$13}'
편집하다:나는 출력을 1로 제한하라는 OP 작성자의 요청에 응답하고 있습니다. 즉, intel_gpu_top
업데이트된 출력을 주기적으로 표시하는 설계된 방식을 사용하지 않습니다.
이렇게 하려면 위의 코드 줄을 다음과 같이 변환할 수 있습니다.
timeout 1s sudo intel_gpu_top -s 1 -o - \
| awk 'BEGIN {print "\tRender/3D/0 (%)","Blitter/0 (%)","Video/0 (%)","VideoEnhance/0 (%)\n"}
NR>=3 {printf "\t%11s%14s%12s%%19s\n" $4,$7,$10,$13}'
timeout 1s
: 후속 명령이 1초 후에 시간 초과되도록 허용(1s
)- 플래그
intel_gpu_top
및 파라미터-s 1
설정 출력은 1초에 1회 발생합니다.