06 查看信息
本章中介绍的内容大部分不仅适用于板卡,大部分也适用于开发主机中的Ubuntu系统,请尝试在两种平台上执行相关的命令查看信息,比较差异。
1 初探/proc目录
Linux没有提供类似Windows的任务管理器,但是它将系统运行的信息都记录在/proc目录下的文件中, 用户可以通过访问该目录下的文件获取对应的系统信息。
请在板卡的终端下执行如下命令查看/proc目录的内容:
#在板卡的终端执行以下命令 ls /proc

该目录下各文件包含的信息如下表所示。
表 /proc文件结构
文件名 | 作用 |
---|---|
pid* | 通常是一个数字,表示进程的 PID 号。系统中每个运行的进程都有对应的目录(如 /proc/1234 ),用于记录该进程的所有信息。操作系统将每个应用程序视为一个进程。 |
self | 软链接,指向当前进程的目录。访问 /proc/self/ 可直接获取当前进程信息,无需手动查询 PID。 |
thread-self | 软链接,指向当前线程。访问该文件等价于访问 当前进程PID/task/当前线程TID 的内容。一个进程可包含多个线程,线程共同支撑进程运行。 |
version | 记录当前运行的内核版本,可通过 uname –r 命令查看。 |
cpuinfo | 记录系统中 CPU 的提供商、型号、核心数、频率等配置信息。 |
modules | 记录当前系统已加载的内核模块信息。 |
meminfo | 记录系统内存使用情况(如空闲/已用内存量)。free 命令通过读取此文件获取数据。 |
filesystems | 记录内核支持的文件系统类型。挂载设备时若未指定文件系统,mount 会尝试此文件中列出的类型(不含标有 nodev 的文件系统)。 |
通过访问/proc文件夹的内容,就可以得到我们想要的系统信息。
2 查看CPU信息
/proc/cpuinfo文件存储了CPU的信息,可通过如下命令查看:
cat /proc/cpuinfo

3 查看内核版本
/proc/version文件保存了内核的版本信息,我们可以通过如下命令来获取。
cat /proc/version

也可以通过如下命令获取:
uname -a
4 查看内存信息
内核将内存的使用情况记录在/proc/meminfo文件中,我们可以通过读取该文件的内容,来了解我们内存的使用情况:
以下为内存2GB的情况
cat /proc/meminfo

在实际应用中,我们一般都不会直接去读取该文件的内容,而是使用下面的命令来获取内存的相关信息。
通过free命令查看系统的内存大小:
free

5 查看存储器容量
/proc/partitions文件包含了存储器的分区信息,查看分区信息可以了解板载FLASH存储器的容量。
可使用如下命令查看:
cat /proc/partitions
下图是使用32GB eMMC板卡的命令输出信息。

其中的mmcblk开头的都是属于eMMC存储器的数据块
6 查看任务进程
在/proc文件夹下,有很多以数字命名的文件夹,这些文件夹是用来记录当前正在运行的进程状态, 文件名则是他们的pid号,每一个进程都对应一个pid号,用于辨识。这些进程文件夹中包含的内容, 基本上是大同小异的。使用ls命令,来查看pid为1的文件夹内容,如下图所示。其中,fd记录里当前进程使用的文件描述, mountinfo记录了挂载信息,mem则记录了该进程的内存使用情况等。
ls /proc/1

top

7 查看支持的文件系统
/proc/filesystems可以用来查看内核支持的文件系统类型,如上图所示。图中有部分文件系统前带有“nodev”标志, 表示这些文件系统不需要挂载块设备,如网络文件系统nfs/nfs4,伪文件系统sysfs等。
cat /proc/filesystems

8 查看CPU当前主频
除了/proc目录外,在/sys目录也可以查看一些系统相关的信息, 如文件/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq包含了CPU0当前的主频信息, 若系统存在该文件,可以把它的内容输出来查看:
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq

LubanCat-RK3562/RK3566/RK3568系列板卡的CPU具有调频的功能,当你的负载低的时候自动降频节省能耗,当需要高负载的场景会自动提升频率,提高性能
ls -g /sys/devices/system/cpu/cpu0/cpufreq/
