nvidia 嵌入式设备频率设置
nvidia 嵌入式设备的相关频率设置
记录 tk1、nano、nx的相关频率设置,所有调频操作均在root用户下使用,另外命令调频重启后会失效。
jtop的安装
jtop可以用来查看 nvidia嵌入式设备(tk1不行)的cpu、gpu、nvdec、nvenc、nvjpg等相关信息。安装命令如下:
- python2
sudo apt-get install python-pip
sudo pip install jetson-stats -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com #清华源装不上的话采用阿里源
sudo jtop
- python3
sudo apt-get install python3-pip
sudo pip3 install jetson-stats -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
sudo jtop
linux 查看进程占用 CPU
- python2
sudo pip install ps_mem -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
sudo reboot # 重启后才能使用
ps_mem -h
ps_mem -w 1 -p 2345 # 每隔1s后打印一次进程号为2345所占用的内存
- python3
sudo pip3 install ps_mem -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
sudo reboot # 重启后才能使用
ps_mem -h
ps_mem -w 1 -p 2345 # 每隔1s后打印一次进程号为2345所占用的内存
linux CPU主频、占用、温度
sudo apt install stress
sudo pip3 install s-tui -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
sudo reboot # 重启后才能使用
s-tui
TK1
参考网址:https://elinux.org/Jetson/Performance
- CPU 频率(所有命令均在 root权限下运行)
sudo -s # 切换到root用户,后续设置频率都必须是root用户才可以执行
cat /sys/devices/system/cpu/online #查看几块cpu在使用
cat /sys/kernel/debug/clock/gbus/rate # 查看当前gpu频率
echo 0 > /sys/devices/system/cpu/cpuquiet/tegra_cpuquiet/enable
echo 1 > /sys/devices/system/cpu/cpu0/online # 唤醒 cpu0 一般cpu0是工作状态
echo 1 > /sys/devices/system/cpu/cpu1/online # 唤醒 cpu1 一般是休眠状态
echo 1 > /sys/devices/system/cpu/cpu2/online # 唤醒 cpu2 一般是休眠状态
echo 1 > /sys/devices/system/cpu/cpu3/online # 唤醒 cpu3 一般是休眠状态
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies #查看可设置的cpu频率
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors # 查看可设置的 cpu模式
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # 设置 性能模式 并锁频 (一般性能模式就是最大工作频率)
echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo performance > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo performance > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
- GPU 频率
cat /sys/kernel/debug/clock/gbus/possible_rates # 查看可设置的gpu频率值
echo 852000000 > /sys/kernel/debug/clock/override.gbus/rate # 设置 gpu频率
echo 1 > /sys/kernel/debug/clock/override.gbus/state # 锁定gpu频率
NANO
- CPU
cat /sys/devices/system/cpu/online #查看几块cpu在使用
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies #查看可设置的cpu频率
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq #查看目前的cpu频率
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq # 查看目前最大的cpu频率
echo 1428000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq #更改最大的cpu频率
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # 设置 性能模式 并锁频
- GPU
cat /sys/kernel/debug/clk/gbus/clk_rate #查看当前gpu频率
cat /sys/kernel/debug/clk/gbus/clk_possible_rates # 查看可设置的gpu频率值
echo 921600000 > /sys/kernel/debug/clk/override.gbus/clk_update_rate # 设置gpu的频率
echo 1 > /sys/kernel/debug/clk/override.gbus/clk_state #锁定gpu频率
- NVJPG
cat /sys/kernel/debug/clk/c2bus/clk_possible_rates # 获取可设置的频率
echo 627200000 > /sys/kernel/debug/clk/override.c2bus/clk_update_rate # 设置频率
echo 1 > /sys/kernel/debug/clk/override.c2bus/clk_state #锁频
- NVENC
cat /sys/kernel/debug/clk/c3bus/clk_possible_rates # 获取可设置的频率
echo 716800000 > /sys/kernel/debug/clk/override.c3bus/clk_update_rate # 设置频率
echo 1 > /sys/kernel/debug/clk/override.c3bus/clk_state #锁频
附上开机自启动脚本 performance.sh (可以通过修改 /etc/nvpmodel.conf来调频):
#!/bin/sh
echo "123456" | sudo -S chmod 666 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # 因为权限问题需要修改该文件权限 ,root的密码是 123456
echo "123456" | sudo -S chmod 666 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq # 因为权限问题需要修改该文件权限
echo "123456" | sudo -S chmod +x /sys/kernel/debug/ # 因为权限问题需要修改该文件权限
echo "123456" | sudo -S chmod 666 /sys/kernel/debug/clk/override.gbus/clk_update_rate # 因为权限问题需要修改该文件权限
echo "123456" | sudo -S chmod 666 /sys/kernel/debug/clk/override.gbus/clk_state # 因为权限问题需要修改该文件权限
echo "123456" | sudo -S echo 1479000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq #更改最大的cpu频率
echo "123456" | sudo -S echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # 设置 性能模式 并锁频
echo "123456" | sudo -S echo 921600000 > /sys/kernel/debug/clk/override.gbus/clk_update_rate # 设置gpu的频率
echo "123456" | sudo -S echo 1 > /sys/kernel/debug/clk/override.gbus/clk_state #锁定gpu频率
之后可以根据gnorm的开启自启程序设置开机自启:
chmod +x performance.sh #给开机自启脚本加上 执行权限
gnome-session-properties # 打开 gnorm的开机自启程序设置
TX2
TX2有6个cpu核,4个是A57核(cpu0,cpu3,cpu4,cpu5),2个是Dual-Core NVIDIA Denver2核(cpu1和cpu2)。程序如果不绑定cpu1和cpu2,只会运行在其他4个核(即便开的线程数不止4)。具体绑定cpu核心可以通过taskset或者程序设置,参考这里。
- CPU
cat /sys/devices/system/cpu/online #查看几块cpu在使用
echo 1 > /sys/devices/system/cpu/cpu1/online # 唤醒 cpu 1
echo 1 > /sys/devices/system/cpu/cpu2/online # 唤醒 cpu 2
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies #查看可设置的cpu频率
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq #查看目前的cpu频率
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq # 查看目前最大的cpu频率
echo 2035200 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq #更改最大的cpu频率(一般更改0号cpu,另外cpu都会同样更改)
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # 设置 性能模式
echo 2035200 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq # Denver2核需要额外再设置频率
echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor # 设置 性能模式
echo 2035200 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq # Denver2核需要额外再设置频率
echo performance > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor # 设置 性能模式
- GPU
cat /sys/class/devfreq/17000000.gp10b/available_frequencies
echo 1300500000 > /sys/class/devfreq/17000000.gp10b/max_freq #设置最大的gpu 频率
echo performance > /sys/class/devfreq/17000000.gp10b/governor #将gpu的工作模式 设置为性能模式
NX
- CPU
cat /sys/devices/system/cpu/online #查看几块cpu在使用
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies #查看可设置的cpu频率
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq #查看目前的cpu频率
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq # 查看目前最大的cpu频率
echo 1907200 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq #更改最大的cpu频率
echo 1907200 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq #更改最大的cpu频率
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # 设置 性能模式
- GPU
cat /sys/class/devfreq/17000000.gv11b/available_frequencies #查看可设置的 gpu 频率
echo 1109250000 > /sys/class/devfreq/17000000.gv11b/max_freq #设置最大的gpu 频率
echo performance > /sys/class/devfreq/17000000.gv11b/governor #将gpu的工作模式 设置为性能模式
- NVJPG(自己摸索的,不会立即生效,调用两次解码后会生效,如果有更好的方法再更改)
cat /sys/class/devfreq/15340000.vic/available_frequencies # 查找可设置的nvjpg的频率
echo 601600000 > /sys/kernel/debug/bpmp/debug/clk/nafll_nvjpg/ceil_rate #设置nvjpg的频率
ORIN NANO
- CPU
cat /sys/devices/system/cpu/online #查看几块cpu在使用
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies #查看可设置的cpu频率
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq #查看目前的cpu频率
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq # 查看目前最大的cpu频率
echo 1510400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq #更改最大的cpu频率
echo 1510400 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq #更改最大的cpu频率
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # 设置 性能模式 并锁频
echo performance > /sys/devices/system/cpu/cpu5/cpufreq/scaling_governor # 设置 性能模式 并锁频
- GPU
cat /sys/class/devfreq/17000000.ga10b/available_frequencies #查看可设置的 gpu 频率
echo 624750000 > /sys/class/devfreq/17000000.ga10b/max_freq #设置最大的gpu 频率
echo performance > /sys/class/devfreq/17000000.ga10b/governor #将gpu的工作模式 设置为性能模式