Android 能用上的Linux命令
参考:常用命令
获取 CPU 核心数
1
cat /sys/devices/system/cpu/possible
获取第一个 CPU 的最大频率
1
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
获取第二个CPU的最小频率
1
cat /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_min_freq
CPU 瞬时情况
1
2
3
4
5
6
7
8
9
10
11whyred:/ $ cat /proc/stat
cpu 731136 50041 1038145 270823460 35086 3933864 332437 0 0 0
cpu0 187090 11104 314921 33420523 7263 71201 58251 0 0 0
cpu1 244047 13970 352376 33355729 9002 58805 59312 0 0 0
cpu2 130440 8604 171217 33747327 8157 33540 20522 0 0 0
cpu3 40515 3794 104055 33956680 9009 19027 16455 0 0 0
cpu4 59788 4665 43842 34035844 483 206098 44471 0 0 0
cpu5 34608 3677 25619 34081033 420 159429 132489 0 0 0
cpu6 30523 2268 23459 34088923 348 137672 739 0 0 0
cpu7 4122 1954 2652 34137396 399 3248088 193 0 0 0
intr ...这些数值的单位都是 jiffies,jiffies 是内核中的一个全局变量,用来记录系统启动以来产生的节拍数,在 Linux 中,一个节拍大致可以理解为操作系统进程调度的最小时间片,不同的 Linux 系统内核这个值可能不同,通常在 1ms 到 10ms 之间
对应的各项指标如下:
1
CPU (user, nice, system, idle, iowait, irq, softirq, stealstolen, guest)
- user:表示从系统启动开始至今处于用户态的运行时间,注意不包含 nice 值为负的进程
- nice:表示从系统启动开始至今nice 值为负的进程所占用的 CPU 时间
- system:表示从系统启动开始至今处于内核态的运行时间
- idle:表示从系统启动开始至今除 IO 等待时间以外的其他等待时间
- iowait:表示从系统启动开始至今的IO 等待时间。(从Linux V2.5.41开始)
- irq:表示从系统启动开始至今的硬中断时间。(从Linux V2.6.0-test4开始)
- softirq:表示从系统启动开始至今的软中断时间。(从Linux V2.6.0-test4开始)
- stealstolen:表示当在虚拟化环境中运行时在其他操作系统中所花费的时间。在Android系统下此值为0。(从Linux V2.6.11开始)
- guest:表示当在Linux内核的控制下为其它操作系统运行虚拟CPU所花费的时间。在Android系统下此值为0。(从 V2.6.24开始)