查看总体信息
|---------------------|-----------------------------------------------------------------------------------|
| 1 2 3 4 5 6
| # 安装工具 neofetch sudo apt update sudo apt install neofetch # 运行命令 neofetch
|
- LubanCat-4 debian11系统的效果如下图所示

- LubanCat-5 debian11系统的效果如下图所示

由上图可以分析出我们目前系统的情况(以LubanCat-4为例)
-
OS
:aarch64架构的Debian11的根文件系统 -
Host
:板卡名字 野火LubanCat-4 -
Kernel
:5.10.160的linux内核 -
Uptime
:在线时间16小时40分钟 -
Packages
:已安装了1636个安装包 -
Shell
:使用bash 5.1.4 -
Resolution
:屏幕显示的分辨率1920x1080 -
CPU
:8核,由于使用的是大小核架构,不能显示真实的CPU的频率 -
Memory
:总共7918MiB(8G),目前使用了535MiB
13.2. 查看文件系统
|------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #使用命令 df -h # 实机运行如下 root@lubancat:~# df -h 文件系统 容量 已用 可用 已用% 挂载点 udev 3.9G 8.0K 3.9G 1% /dev tmpfs 792M 1.8M 791M 1% /run /dev/mmcblk0p3 58G 4.2G 51G 8% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 3.9G 8.0K 3.9G 1% /tmp /dev/mmcblk0p2 124M 56M 62M 48% /boot tmpfs 792M 60K 792M 1% /run/user/1000 tmpfs 792M 44K 792M 1% /run/user/0 root@lubancat:~#
|
13.3. 监控工具
13.3.1. top
板卡自带的一个监控工具,可以查看进程的一些基本信息
|-------------|-------------------|
| 1 2
| #使用命令 top
|

13.3.2. htop
htop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。 与Linux传统的top相比,htop更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。
|-------------|--------------------|
| 1 2
| #使用命令 htop
|

htop的一些详细用法(点击跳转链接)
13.3.3. btop
btop是一款炫酷的性能测试监控分析工具
btop的功能列表包括:
-
一个受游戏启发的菜单系统
-
完整的鼠标支持
-
箭头键选择进程
-
所选进程的详细统计资料
-
进程过滤器
-
轻松地在分类选项之间切换
-
向所选过程发送信号
-
通过菜单进行配置
-
网络I/O的自动缩放图
-
显示磁盘的IO活动/速度
-
电池表
-
自定义预置
|---------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| # btop的安装可能需要一定的魔法,如果安装不成功要试试魔法 # 下载源码包 wget https://github.com/aristocratos/btop/releases/download/v1.2.13/btop-aarch64-linux-musl.tbz # 解压源码包 tar xf btop-aarch64-linux-musl.tbz # 切换目录 cd btop # 安装btop ./install.sh # 安装成功会像图下所示
|

注意
btop的运行需要最终端或者窗口支持容纳宽80个字,高24个字,不然会无法使用
|-------------|--------------------|
| 1 2
| #使用命令 btop
|

btop官方用法

btop文档详解(点击跳转链接)
13.4. 查看CPU信息
/proc/cpuinfo文件存储了CPU的信息,可通过如下命令查看:
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| cat /proc/cpuinfo #3588s的查看信息如下图所示 cat@lubancat:~$ cat /proc/cpuinfo processor : 0 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x2 CPU part : 0xd05 CPU revision : 0 processor : 1 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x2 CPU part : 0xd05 CPU revision : 0 processor : 2 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x2 CPU part : 0xd05 CPU revision : 0 processor : 3 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x2 CPU part : 0xd05 CPU revision : 0 processor : 4 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x4 CPU part : 0xd0b CPU revision : 0 processor : 5 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x4 CPU part : 0xd0b CPU revision : 0 processor : 6 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x4 CPU part : 0xd0b CPU revision : 0 processor : 7 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x4 CPU part : 0xd0b CPU revision : 0 Serial : cee3557a7891ec2b
|
|---------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| //ARM_CPU_PART的定义 #define ARM_CPU_PART_AEM_V8 0xD0F #define ARM_CPU_PART_FOUNDATION 0xD00 #define ARM_CPU_PART_CORTEX_A57 0xD07 #define ARM_CPU_PART_CORTEX_A72 0xD08 #define ARM_CPU_PART_CORTEX_A53 0xD03 #define ARM_CPU_PART_CORTEX_A73 0xD09 #define ARM_CPU_PART_CORTEX_A75 0xD0A #define ARM_CPU_PART_CORTEX_A35 0xD04 #define ARM_CPU_PART_CORTEX_A55 0xD05 #define ARM_CPU_PART_CORTEX_A76 0xD0B #define ARM_CPU_PART_NEOVERSE_N1 0xD0C #define ARM_CPU_PART_CORTEX_A77 0xD0D #define ARM_CPU_PART_NEOVERSE_V1 0xD40 #define ARM_CPU_PART_CORTEX_A78 0xD41 #define ARM_CPU_PART_CORTEX_A78AE 0xD42 #define ARM_CPU_PART_CORTEX_X1 0xD44 #define ARM_CPU_PART_CORTEX_A510 0xD46 #define ARM_CPU_PART_CORTEX_A710 0xD47 #define ARM_CPU_PART_CORTEX_X2 0xD48 #define ARM_CPU_PART_NEOVERSE_N2 0xD49 #define ARM_CPU_PART_CORTEX_A78C 0xD4B
|
由上面的信息,可以看到lbc4的cpu内有8个核心
-
0-3的核心用的是0xD05,查阅上面的ARM_CPU_PART定义可知该为 CORTEX_A55。
-
4-7的核心用的是0xD0B,查阅上面的ARM_CPU_PART定义可知该为 CORTEX_A76
-
可得RK3588系列芯片由4xCORTEX_A76+4xCORTEX_A55相组成
13.5. 查看SOC频率
- 查看CPU的频率
默认为变频模式,频率的会随当前的应用的变化而变化
|---------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13
| cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq # 实机运行如下(四个小核跑到1.2GHz 四个大核跑到408MHz) cat@lubancat:~$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq 1200000 1200000 1200000 1200000 408000 408000 408000 408000 cat@lubancat:~$
|
- 查看GPU的频率
默认为变频模式,频率的会随当前的应用的变化而变化
|---------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6
| cat /sys/class/devfreq/fb000000.gpu/cur_freq # 实机运行如下(GPU当前的频率为300MHz) cat@lubancat:~$ cat /sys/class/devfreq/fb000000.gpu/cur_freq 300000000 cat@lubancat:~$
|
- 查看npu的频率
默认为变频模式,频率的会随当前的应用的变化而变化
|---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6
| sudo cat /sys/kernel/debug/clk/clk_summary | grep clk_npu_dsu0 # 实机运行如下(npu当前的频率为750MHz) cat@lubancat:~$ sudo cat /sys/kernel/debug/clk/clk_summary | grep clk_npu_dsu0 clk_npu_dsu0 0 3 0 750000000 0 0 50000 cat@lubancat:~$
|
- 查看DDR频率
默认为变频模式,频率的会随当前的应用的变化而变化
|---------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6
| cat /sys/class/devfreq/dmc/cur_freq # 实机运行如下(npu当前的频率为750MHz) cat@lubancat:~$ cat /sys/class/devfreq/dmc/cur_freq 528000000 cat@lubancat:~$
|
13.6. 查看SOC温度
LubanCat-4使用Thermal来对芯片的温度进行监测
|-----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7
| # 列出thermal的所有的设备 ls /sys/class/thermal root@lubancat:~# ls /sys/class/thermal/ cooling_device0 cooling_device3 thermal_zone2 thermal_zone5 cooling_device1 thermal_zone0 thermal_zone3 thermal_zone6 cooling_device2 thermal_zone1 thermal_zone4
|
- 可以看到文件里面有四个cooling_device,7个thermal_zone
cooling_device是当SOC达到温控时,SOC降低自身设备的一些功耗,用于降低温度
-
cooling_device0对应的SOC的四个小核的降频设备
-
cooling_device1对应的SOC的其中两个大核的降频设备
-
cooling_device2对应的SOC的另外两个大核的降频设备
-
cooling_device3对应的SOC的GPU的降频设备
thermal_zone是SOC内部的温度监控点
-
thermal_zone0对应的是SOC主要的温度监控,cooling_device的启动和关闭都是依赖该设备
-
thermal_zone1对应的是SOC的其中两个大核的温度监控
-
thermal_zone2对应的是SOC的另外两个大核的温度监控
-
thermal_zone3对应的是SOC的四个小核的温度监控
-
thermal_zone4对应的是芯片中心温度监控
-
thermal_zone5对应的是SOC的GPU的温度监控
-
thermal_zone6对应的是SOC的npu的温度监控
查看SOC主要的温度监控
|---------------|----------------------------------------------------------------------------|
| 1 2 3
| cat /sys/class/thermal/thermal_zone0/temp # 其他的温控监察点也可以像上面一样操作查看温度
|
13.7. SOC调度
13.7.1. CPU调度策略(簇)
为了方便,这里只讲述LubanCat-4的簇的调度策略,单独核心的调度策略类似于簇的,可以照猫画虎
LubanCat-4的CPU调度策略(簇)不是单独控制每个个核心变频的,我们将8个核心分为3簇
|---------------|-----------------------------------------------------------------------------------------------|
| 1 2 3
| # 可以看到共分为3簇,分别对应上面的核心配置 ls /sys/devices/system/cpu/cpufreq/ policy0 policy4 policy6
|
-
四个CORTEX_A55核心 -- policy0
-
两个CORTEX_A76核心 -- policy4
-
两个CORTEX_A76核心 -- policy6
这样的话控制就方便很多,通过控制簇来实现对SOC整体性能的控制
配置这些簇定频的方法很简单
|---------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| # 查看当前的SOC的调度策略 cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor # 实机运行如下(当前SOC的调频策略为ondemand) cat@lubancat:~$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor ondemand cat@lubancat:~$ # 查看SOC所有的调度策略 cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors # 实机运行如下(有7种) cat@lubancat:~$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors interactive conservative ondemand userspace powersave performance schedutil cat@lubancat:~$
|
-
conservative:根据 CPU 负载动态调频,按一定的比例平滑的升高或降低频率。
-
ondemand:根据 CPU 负载动态调频,调频幅度比较大,可直接调到最高频或最低频。
-
interactive:根据 CPU 负载动态调频,相比 ondemand,响应时间更快,可配置参数更多,更灵活。
-
userspace:提供相应接口供用户态应用程序调整频率。
-
powersave:功耗优先,始终将频率设置在最低值。
-
performance:性能优先,始终将频率设置为最高值。
-
schedutil:EAS 使用 governor。EAS(Energy Aware Scheduling)是新一代的任务调度策略, 结合 CPUFreq和 CPUIdle 的策略, 在为某个任务选择运行 CPU 时, 同时考虑了性能和功耗, 保证了系统能耗最低,并且不会对性能造成影响。 Schedutil 调度策略就是专门给 EAS 使用的 CPU 调频策略
簇调度策略设置(以policy0为例)
|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9
| # 该配置需要使用root用户进行操作 su root # 输入你的密码(默认为"root") # 查看支持的调度策略 cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors # 调整为你需要要的调度策略(以performance为例) echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
|
簇定频策略设置(以policy0为例)
|---------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| # 该配置需要使用root用户进行操作 su root # 输入你的密码(默认为"root") # 将策略调整为 ``userspace`` echo userspace > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor # 查看 CPU 可用频率 cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_frequencies # 实机运行如下(有8种) cat@lubancat:~$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_frequencies 408000 600000 816000 1008000 1200000 1416000 1608000 1800000 cat@lubancat:~$ # 设置频率(设置为600MHz) echo 600000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_setspeed
|
13.7.2. GPU调度策略
|------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10
| # 查看当前的GPU的调度策略 cat /sys/class/devfreq/fb000000.gpu/governor # 查看支持的GPU的调度策略 cat /sys/class/devfreq/fb000000.gpu/asvailable_governors # 实机运行如下(有7种) cat@lubancat:~$ cat /sys/class/devfreq/fb000000.gpu/available_governors dmc_ondemand userspace powersave performance simple_ondemand cat@lubancat:~$
|
-
simple ondemand:根据负载动态调频。
-
userspace:提供相应接口供用户态应用程序调整频率。
-
powersave:功耗优先,始终将频率设置在最低值。
-
performance:性能优先,始终将频率设置为最高值。
-
dmc_ondemand:simple ondemand 的基础上,增加场景变频的支持,DDR 变频专用。
GPU调度策略设置
|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6
| # 该配置需要使用root用户进行操作 su root # 输入你的密码(默认为"root") # 调整为你需要的调度策略(以performance为例) echo performance > /sys/class/devfreq/fb000000.gpu/governor
|
GPU定频策略设置
|---------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| # 该配置需要使用root用户进行操作 su root # 输入你的密码(默认为"root") # 将策略调整为 ``userspace`` echo userspace > /sys/class/devfreq/fb000000.gpu/governor # 查看 CPU 可用频率 cat /sys/class/devfreq/fb000000.gpu/available_frequencies # 实机运行如下(支持8个频率) cat@lubancat:~$ cat /sys/class/devfreq/fb000000.gpu/available_frequencies 1000000000 900000000 800000000 700000000 600000000 500000000 400000000 300000000 cat@lubancat:~$ # 设置频率(设置为400MHz) echo 400000000 > /sys/class/devfreq/fb000000.gpu/userspace/set_freq
|
13.7.3. DDR调度
|------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #列出DDR当前的调度模式 cat /sys/class/devfreq/dmc/governor # 实机运行如下 cat@lubancat:~$ cat /sys/class/devfreq/dmc/governor dmc_ondemand cat@lubancat:~$ #列出DDR支持的调度模式 cat /sys/class/devfreq/dmc/available_governors # 实机运行如下 cat@lubancat:~$ cat /sys/class/devfreq/dmc/available_governors dmc_ondemand userspace powersave performance simple_ondemand cat@lubancat:~$
|
-
simple ondemand:根据负载动态调频。
-
userspace:提供相应接口供用户态应用程序调整频率。
-
powersave:功耗优先,始终将频率设置在最低值。
-
performance:性能优先,始终将频率设置为最高值。
-
dmc_ondemand:simple ondemand 的基础上,增加场景变频的支持,DDR 变频专用。
DDR调度策略设置
|---------------------|------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6
| # 该配置需要使用root用户进行操作 su root # 输入你的密码(默认为"root") # 调整为你需要的调度策略(以performance为例) echo performance > /sys/class/devfreq/dmc/governor
|
DDR定频策略设置
|---------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| # 该配置需要使用root用户进行操作 su root # 输入你的密码(默认为"root") # 将策略调整为 ``userspace`` echo userspace > /sys/class/devfreq/dmc/governor # 查看 CPU 可用频率 cat /sys/class/devfreq/dmc/available_frequencies # 实机运行如下(支持4个频率) cat@lubancat:~$ cat /sys/class/devfreq/dmc/available_frequencies 528000000 1068000000 1560000000 2112000000 cat@lubancat:~$ # 设置频率(设置为1560MHz) echo 1560000000 > /sys/class/devfreq/dmc/userspace/set_freq
|
13.7.4. npu定频
手动切换 userspace模式
|-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8
| #手动切换 userspace模式 echo userspace > /sys/class/devfreq/fdab0000.npu/governor #设置频率1GHz echo 1000000000 > /sys/class/devfreq/fdab0000.npu/userspace/set_freq 查看频率是否成功设置 cat /sys/class/devfreq/fdab0000.npu/cur_freq
|
提示
以上是临时生效,重启失效,如果需要永久固定,可以在/etc/init.d/boot_init.sh末尾添加以上命令。