Ubuntu에서 ARM 프로세서의 현재 CPU 주파수를 얻는 방법은 무엇입니까? 도움이 되지 /proc/cpuinfo
도 않고 /sys/devices/system/cpu/cpu*/cpufreq
도움이 되지도 않습니다.
/sys/devices/system/cpu/cpu*/cpufreq
사실 내 Ubuntu 시스템에는 디렉터리가 없습니다. 그리고 어느 쪽도 CPU MHz 정보를 가지고 있지 않습니다 /proc/cpuinfo
.
플랫폼 사양은 NVIDIA® Jetson™ TX2, ubuntu16.04, linux 4.9.18입니다.
ARM 프로세서의 현재 CPU 주파수를 얻는 방법에 대한 팁을 제공할 수 있는 사람이 있습니까?
현재 CPU 주파수를 얻는 데 영향을 미칠 수 있는 커널 구성이 있습니까?
답변1
- 최신 커널과 해당 하위 키가 있는 pi 4에
/sys/devices/system/cpu/cpufreq/
존재합니다. - 운이 좋다면 플랫폼에서 다음과 같은 기능을 제공할 것입니다.
/sys/devices/platform/soc/soc:firmware/raspberrypi-clk/raspberrypi-cpufreq
- 당신은 시도 할 수 있습니다성능 통계포함:
perf stat sleep 1
댓글에서 언급한 바와 같이:https://stackoverflow.com/q/32474101/11993317 - SoC에는 다음과 같은 인터페이스가 있을 수 있습니다.https://superuser.com/questions/406141/how-to-get-an-arm-cpu-clock-speed-in-linux
답변2
~에 따르면커널 문서:
3. How to change the CPU cpufreq policy and/or speed ==================================================== 3.1 Preferred Interface: sysfs ------------------------------ The preferred interface is located in the sysfs filesystem. If you mounted it at /sys, the cpufreq interface is located in a subdirectory "cpufreq" within the cpu-device directory (e.g. /sys/devices/system/cpu/cpu0/cpufreq/ for the first CPU). <...snip> cpuinfo_cur_freq : Current frequency of the CPU as obtained from the hardware, in KHz. This is the frequency the CPU actually runs at.
나는 이것을 테스트했습니다.라즈베리 파이 V4그리고 그 cpuinfo_cur_freq
존재를 확인합니다. 나에게는 동일한 속도가 표시되어 있지만 cpuinfo_max_freq
그것이 올바른지 알 수는 없습니다.
이 인터페이스를 읽고 CPU가 최대 속도로 실행되고 있지 않음을 증명하기 위해 의도적으로 CPU 속도를 늦출 수도 있습니다.
이 인터페이스는 다음 위치에 있어야 합니다.
/sys/devices/system/cpu/cpu0/cpufreq/
답변3
kernel4.9로 업그레이드하고 L4T를 구입한 후 아래 내용을 읽어보세요...
~에서nVidia 문서:
커널 4.9 이상에서는 CCF(Common Clock Framework)가 지원됩니다. 그러므로:
- 모든 장치 드라이버는 플랫폼별 API가 아닌 clk_get, clk_enable, devm_clk_get, clk_prepare_enable, clk_prepare_disable, clk_disable 등과 같은 기능을 포함하여 공용 CCF API include/linux/clk.h 및 include/linux/clk-provider.h를 사용합니다. 아피스.
- 모든 시계 드라이버(Jetson 사용자 정의 clk 드라이버 포함)는 clk_ops를 구현합니다.
- 장치에 필요한 클록 소스와 클록은 장치 트리에 정의되어 있습니다.
- 클럭은 부팅 및 전원 관리 프로세서라고 불리는 R5에 의해 제어됩니다. bpmp.bin에서 RTOS 소프트웨어를 실행합니다. CCPLEX에서 실행되는 Linux 커널은 시계 프로그래밍을 위해 이 소프트웨어를 요청합니다. NVIDIA® Jetson™ Linux 드라이버 패키지(L4T) 시계 드라이버 래퍼는 nvidia/drivers/clk/tegra/ 디렉터리에 있습니다.
시계 상태 확인
적용 대상: Jetson AGX Xavier 시리즈 및제이슨 TX2 시리즈
- 장치에서 다음 명령을 입력하여 debugfs를 시작하고 시계를 확인합니다.
sudo -s
cat /sys/kernel/debug/bpmp/debug/clk/clk_tree
답변4
누구든지 주어진 정보를 기반으로 x 명령을 시도하는 것과 유사한 것을 제안할 수 있습니까?
이를 염두에 두고 다음을 시도해 볼 수 있습니다. ( lscpu
비록 에서 찾을 수 있는 것과 동일한 정보를 다시 가져오길 바라지만 /proc/cpuinfo
시도해 볼 가치가 있습니다.)
더 나은 답변을 얻으려면 커뮤니티에 시스템 커널 버전과 같은 추가 정보가 필요할 수 있습니다. 우분투 버전도 있을 수도 있습니다.
다음을 통해 커널 버전을 찾을 수 있습니다.uname -r
다음을 통해 운영 체제 버전을 찾을 수 있습니다.lsb_release -a
무엇을 찾았는지 알려주세요!