android获取cpu
Ⅰ Android怎样获取CPU使用率
直接按DEL+CTRL+ALT键,调出电脑任务管理器,查看性能,就可以看到有CPU占用率,核心数占用率的显示。
或者安装常见的鲁大师软件,在温度栏下,也可以直接看到CPU的占用率。
Ⅱ 怎么获得CPU的信息
Android获取cpu和内存信息、网址的代码如下:
/** 获取用户硬件信息 */
public static String getMobileInfo() {
//StringBuffer sb = new StringBuffer();
JSONObject mbInfo = new JSONObject();
//通过反射获取用户硬件信息
try {
Field[] fields = Build.class.getDeclaredFields();
for (Field field : fields) {
// 暴力反射,获取私有信息
field.setAccessible(true);
String name = field.getName();
String value = field.get(null).toString();
//sb.append(name + "=" + value);
//sb.append("\n");
mbInfo.put(name, value);
}
} catch (Exception e) {
e.printStackTrace();
}
//return sb.toString();
return mbInfo.toString();
}
static public String getCpuString(){
if(Build.CPU_ABI.equalsIgnoreCase("x86")){
return "Intel";
}
String strInfo = "";
try
{
byte[] bs = new byte[1024];
RandomAccessFile reader = new RandomAccessFile("/proc/cpuinfo", "r");
reader.read(bs);
String ret = new String(bs);
int index = ret.indexOf(0);
if(index != -1) {
strInfo = ret.substring(0, index);
} else {
strInfo = ret;
}
}
catch (IOException ex){
ex.printStackTrace();
}
return strInfo;
}
static public String getCpuType(){
String strInfo = getCpuString();
String strType = null;
if (strInfo.contains("ARMv5")) {
strType = "armv5";
} else if (strInfo.contains("ARMv6")) {
strType = "armv6";
} else if (strInfo.contains("ARMv7")) {
strType = "armv7";
} else if (strInfo.contains("Intel")){
strType = "x86";
}else{
strType = "unknown";
return strType;
}
if (strInfo.contains("neon")) {
strType += "_neon";
}else if (strInfo.contains("vfpv3")) {
strType += "_vfpv3";
}else if (strInfo.contains(" vfp")) {
strType += "_vfp";
}else{
strType += "_none";
}
return strType;
}
/**
* @hide
* @return
*/
public static CPUInfo getCPUInfo() {
String strInfo = null;
try
{
byte[] bs = new byte[1024];
RandomAccessFile reader = new RandomAccessFile("/proc/cpuinfo", "r");
reader.read(bs);
String ret = new String(bs);
int index = ret.indexOf(0);
if(index != -1) {
strInfo = ret.substring(0, index);
} else {
strInfo = ret;
}
}
catch (IOException ex)
{
strInfo = "";
ex.printStackTrace();
}
CPUInfo info = parseCPUInfo(strInfo);
info.mCPUMaxFreq = getMaxCpuFreq();
return info;
}
private final static String kCpuInfoMaxFreqFilePath = "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq";
private static int getMaxCpuFreq() {
int result = 0;
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader(kCpuInfoMaxFreqFilePath);
br = new BufferedReader(fr);
String text = br.readLine();
if (text != null) {
result = Integer.parseInt(text.trim());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fr != null)
try {
fr.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (br != null)
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return result;
}
public static class CPUInfo{
public CPUInfo(){
}
public static final int CPU_TYPE_UNKNOWN = 0x00000000;
public static final int CPU_TYPE_ARMV5TE = 0x00000001;
public static final int CPU_TYPE_ARMV6 = 0x00000010;
public static final int CPU_TYPE_ARMV7 = 0x00000100;
public static final int CPU_FEATURE_UNKNOWS = 0x00000000;
public static final int CPU_FEATURE_VFP = 0x00000001;
public static final int CPU_FEATURE_VFPV3 = 0x00000010;
public static final int CPU_FEATURE_NEON = 0x00000100;
public int mCPUType;
public int mCPUCount;
public int mCPUFeature;
public double mBogoMips;
public long mCPUMaxFreq;
}
/**
*
* @param cpuInfo
* @return
* @hide
*/
private static CPUInfo parseCPUInfo(String cpuInfo) {
if (cpuInfo == null || "".equals(cpuInfo)) {
return null;
}
CPUInfo ci = new CPUInfo();
ci.mCPUType = CPUInfo.CPU_TYPE_UNKNOWN;
ci.mCPUFeature = CPUInfo.CPU_FEATURE_UNKNOWS;
ci.mCPUCount = 1;
ci.mBogoMips = 0;
if (cpuInfo.contains("ARMv5")) {
ci.mCPUType = CPUInfo.CPU_TYPE_ARMV5TE;
} else if (cpuInfo.contains("ARMv6")) {
ci.mCPUType = CPUInfo.CPU_TYPE_ARMV6;
} else if (cpuInfo.contains("ARMv7")) {
ci.mCPUType = CPUInfo.CPU_TYPE_ARMV7;
}
if (cpuInfo.contains("neon")) {
ci.mCPUFeature |= CPUInfo.CPU_FEATURE_NEON;
}
if (cpuInfo.contains("vfpv3")) {
ci.mCPUFeature |= CPUInfo.CPU_FEATURE_VFPV3;
}
if (cpuInfo.contains(" vfp")) {
ci.mCPUFeature |= CPUInfo.CPU_FEATURE_VFP;
}
String[] items = cpuInfo.split("\n");
for (String item : items) {
if (item.contains("CPU variant")) {
int index = item.indexOf(": ");
if (index >= 0) {
String value = item.substring(index + 2);
try {
ci.mCPUCount = Integer.decode(value);
ci.mCPUCount = ci.mCPUCount == 0 ? 1 : ci.mCPUCount;
} catch (NumberFormatException e) {
ci.mCPUCount = 1;
}
}
} else if (item.contains("BogoMIPS")) {
int index = item.indexOf(": ");
if (index >= 0) {
String value = item.substring(index + 2);
}
}
}
return ci;
}
/**
* 获取设备内存大小值
* @return 内存大小,单位MB
*/
public static long getTotalMemory() {
String str1 = "/proc/meminfo";
String str2;
String[] arrayOfString;
long initial_memory = 0;
try {
FileReader localFileReader = new FileReader(str1);
BufferedReader localBufferedReader = new BufferedReader(localFileReader, 8192);
str2 = localBufferedReader.readLine();
if (str2 != null) {
arrayOfString = str2.split("\\s+");
initial_memory = Integer.valueOf(arrayOfString[1]).intValue()/1024;
}
localBufferedReader.close();
return initial_memory;
}
catch (IOException e)
{
return -1;
}
}
/**
* @hide
* @return
*/
public CPUInfo getCPUInfo() {
String strInfo = null;
try
{
byte[] bs = new byte[1024];
RandomAccessFile reader = new RandomAccessFile("/proc/cpuinfo", "r");
reader.read(bs);
String ret = new String(bs);
int index = ret.indexOf(0);
if(index != -1) {
strInfo = ret.substring(0, index);
} else {
strInfo = ret;
}
}
catch (IOException ex)
{
strInfo = "";
ex.printStackTrace();
}
CPUInfo info = parseCPUInfo(strInfo);
info.mCPUMaxFreq = getMaxCpuFreq();
return info;
}
/**
* 获取android CPU类型
*
* @return String CPU类型
*/
public static String getCpuModel(){
String cpu_model = "";
CPUInfo in = getCPUInfo();
if ((in.mCPUType & CPUInfo.CPU_TYPE_ARMV5TE) == CPUInfo.CPU_TYPE_ARMV5TE)
cpu_model="armv5";
else if ((in.mCPUType & CPUInfo.CPU_TYPE_ARMV6) == CPUInfo.CPU_TYPE_ARMV6)
cpu_model="armv6";
else if ((in.mCPUType & CPUInfo.CPU_TYPE_ARMV7) == CPUInfo.CPU_TYPE_ARMV7)
cpu_model="armv7";
else
cpu_model="unknown";
return cpu_model;
}
/**
* 获取android CPU特性
*
* @return String CPU特性
*/
public static String getCpuFeature(){
String cpu_feature = "";
CPUInfo in = getCPUInfo();
if ((in.mCPUFeature & CPUInfo.CPU_FEATURE_NEON ) == CPUInfo.CPU_FEATURE_NEON)
cpu_feature="neon";
else if ((in.mCPUFeature & CPUInfo.CPU_FEATURE_VFP ) == CPUInfo.CPU_FEATURE_VFP)
cpu_feature="vfp";
else if ((in.mCPUFeature & CPUInfo.CPU_FEATURE_VFPV3 ) == CPUInfo.CPU_FEATURE_VFPV3)
cpu_feature="vfpv3";
else
cpu_feature="unknown";
return cpu_feature;
}
/**
* 获取ip地址
*
* @param mContext Context
* @return ip地址字符串
*/
public static String getIpAddress(Context mContext) {
String ipAddress = null;
try {
for (Enumeration en = NetworkInterface
.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration enumIpAddr = intf
.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
ipAddress = inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
return null;
}
if (DEBUG) {
Log.d(TAG, "ip address:" + ipAddress);
}
return ipAddress;
}
Ⅲ Android手机的CPU大约在哪个位置
处理器一般在手机的上部,一般都是BGA在手机主板上面(就是焊在手机主板上面)。
把手机拆开也是不能把手机处理器拿下来的,想拿下来必须用专业的热风枪把它吹下来,而且要注意保护主板上面的其它元器件。
型号比较
1、德州仪器
优点:低频高能且耗电量较少,高端智能机必备CPU。
缺点:价格不菲,对应的手机价格也很高,OMAP3系列GPU性能不高,但OMAP4系列有了明显改善,数据处理能力较弱。
2、INTEL
优点:CPU主频高,速度快。
缺点:耗电、每频率性能较低。
3、高通
优点:主频高,数据处理性能表现出色,拥有最广泛的产品路线图,支持包括智能手机、平板电脑、智能电视等各类终端,可以支持所有主流移动操作系统,支持3G/4G网络制式。
缺点:图形处理能力较弱,功耗较大。
4、三星
优点:耗电量低、三星蜂鸟S5PC110单核最强,DSP搭配较好,GPU性能较强。
缺点:三星猎户双核发热问题大,搭载MALI400GPU构图单一,兼容性不强。
5、Marvell
优点:很好继承和发挥了PXA的性能。
缺点:功耗大。
6、英伟达
优点:最早上市的双核CPU,搭载的Geforce ULP面积小,性能强,功耗较低。
缺点:Tegra2因为功耗问题去掉了NEON,导致视频解码问题大,支持硬解格式少。
7.华为
优点:是2012年业界体积最小的四核A9架构处理器。他是一款高性能CPU,是华为自主设计。
缺点:兼容性不好。
以上参考自网络-手机CPU
Ⅳ Android上如何查看CPU和内存信息
1.进入adb shell
2.输入top -m 10 -s cpu 可查看占用cpu最高的前10个程序(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量)
参数含义:
PID:progressidentification,应用程序ID
S: 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
#THR:程序当前所用的线程数
VSS:Virtual Set Size虚拟耗用内存(包含共享库占用的内存)
RSS: Resident Set Size实际使用物理内存(包含共享库占用的内存)
PCY:不知道什么意思,期待解答
UID:UserIdentification,用户身份ID
Name:应用程序名称
查看内存消耗
1.进入adb shell ;
2.输入mpsys meminfo(PID或者是包名)
Ⅳ android平板电脑怎么看CPU
安卓平板,可通过下载硬件检测软件(比如安卓的安兔兔和Win系统下的鲁大师)来获取平板电脑的CPU配置等硬件信息,以及具体型号、系统版本号等信息,更有检测真伪、性能跑分等多种功能。
Ⅵ android怎么检测 cpu 硬件信息的
教你查看Android手机真正的硬件信息 那些安兔兔还有360什么的里面看到的硬件信息都是可以被奸商修改的,就我都可以把我的内存信息修改成3GB的RAM,所以那里看到的东西不一定就是真实的,由于Android是基于Linux内核的,所以手机的很多信息都能够在内核信息里面看到,内核的一些信息的手机的/proc文件夹里面。大家可以自行查看 /proc/cpuinfo这个文件是手机的cpu硬件信息,大家可以安装一个“终端模拟器”来输入如下指令来查看cpu信息,在终端里面输入 cat/proc/cpuinfo就会显示cpu的相关信息了。
Ⅶ android 读取cpu型号
现在手机和设备基本上系统设置里面都有配置信息,不行的话,你可以下载一个安兔兔看一下。
Ⅷ Android怎么获取cpu信息
Android获取cpu和内存信息、网址的代码如下:
/** 获取用户硬件信息 */
public static String getMobileInfo() {
//StringBuffer sb = new StringBuffer();
JSONObject mbInfo = new JSONObject();
//通过反射获取用户硬件信息
try {
Field[] fields = Build.class.getDeclaredFields();
for (Field field : fields) {
// 暴力反射,获取私有信息
field.setAccessible(true);
String name = field.getName();
String value = field.get(null).toString();
//sb.append(name + "=" + value);
//sb.append("\n");
mbInfo.put(name, value);
}
} catch (Exception e) {
e.printStackTrace();
}
//return sb.toString();
return mbInfo.toString();
}
static public String getCpuString(){
if(Build.CPU_ABI.equalsIgnoreCase("x86")){
return "Intel";
}
String strInfo = "";
try
{
byte[] bs = new byte[1024];
RandomAccessFile reader = new RandomAccessFile("/proc/cpuinfo", "r");
reader.read(bs);
String ret = new String(bs);
int index = ret.indexOf(0);
if(index != -1) {
strInfo = ret.substring(0, index);
} else {
strInfo = ret;
}
}
catch (IOException ex){
ex.printStackTrace();
}
return strInfo;
}
static public String getCpuType(){
String strInfo = getCpuString();
String strType = null;
if (strInfo.contains("ARMv5")) {
strType = "armv5";
} else if (strInfo.contains("ARMv6")) {
strType = "armv6";
} else if (strInfo.contains("ARMv7")) {
strType = "armv7";
} else if (strInfo.contains("Intel")){
strType = "x86";
}else{
strType = "unknown";
return strType;
}
if (strInfo.contains("neon")) {
strType += "_neon";
}else if (strInfo.contains("vfpv3")) {
strType += "_vfpv3";
}else if (strInfo.contains(" vfp")) {
strType += "_vfp";
}else{
strType += "_none";
}
return strType;
}
/**
* @hide
* @return
*/
public static CPUInfo getCPUInfo() {
String strInfo = null;
try
{
byte[] bs = new byte[1024];
RandomAccessFile reader = new RandomAccessFile("/proc/cpuinfo", "r");
reader.read(bs);
String ret = new String(bs);
int index = ret.indexOf(0);
if(index != -1) {
strInfo = ret.substring(0, index);
} else {
strInfo = ret;
}
}
catch (IOException ex)
{
strInfo = "";
ex.printStackTrace();
}
CPUInfo info = parseCPUInfo(strInfo);
info.mCPUMaxFreq = getMaxCpuFreq();
return info;
}
private final static String kCpuInfoMaxFreqFilePath = "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq";
private static int getMaxCpuFreq() {
int result = 0;
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader(kCpuInfoMaxFreqFilePath);
br = new BufferedReader(fr);
String text = br.readLine();
if (text != null) {
result = Integer.parseInt(text.trim());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fr != null)
try {
fr.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (br != null)
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return result;
}
public static class CPUInfo{
public CPUInfo(){
}
public static final int CPU_TYPE_UNKNOWN = 0x00000000;
public static final int CPU_TYPE_ARMV5TE = 0x00000001;
public static final int CPU_TYPE_ARMV6 = 0x00000010;
public static final int CPU_TYPE_ARMV7 = 0x00000100;
public static final int CPU_FEATURE_UNKNOWS = 0x00000000;
public static final int CPU_FEATURE_VFP = 0x00000001;
public static final int CPU_FEATURE_VFPV3 = 0x00000010;
public static final int CPU_FEATURE_NEON = 0x00000100;
public int mCPUType;
public int mCPUCount;
public int mCPUFeature;
public double mBogoMips;
public long mCPUMaxFreq;
}
/**
*
* @param cpuInfo
* @return
* @hide
*/
private static CPUInfo parseCPUInfo(String cpuInfo) {
if (cpuInfo == null || "".equals(cpuInfo)) {
return null;
}
CPUInfo ci = new CPUInfo();
ci.mCPUType = CPUInfo.CPU_TYPE_UNKNOWN;
ci.mCPUFeature = CPUInfo.CPU_FEATURE_UNKNOWS;
ci.mCPUCount = 1;
ci.mBogoMips = 0;
if (cpuInfo.contains("ARMv5")) {
ci.mCPUType = CPUInfo.CPU_TYPE_ARMV5TE;
} else if (cpuInfo.contains("ARMv6")) {
ci.mCPUType = CPUInfo.CPU_TYPE_ARMV6;
} else if (cpuInfo.contains("ARMv7")) {
ci.mCPUType = CPUInfo.CPU_TYPE_ARMV7;
}
if (cpuInfo.contains("neon")) {
ci.mCPUFeature |= CPUInfo.CPU_FEATURE_NEON;
}
if (cpuInfo.contains("vfpv3")) {
ci.mCPUFeature |= CPUInfo.CPU_FEATURE_VFPV3;
}
if (cpuInfo.contains(" vfp")) {
ci.mCPUFeature |= CPUInfo.CPU_FEATURE_VFP;
}
String[] items = cpuInfo.split("\n");
for (String item : items) {
if (item.contains("CPU variant")) {
int index = item.indexOf(": ");
if (index >= 0) {
String value = item.substring(index + 2);
try {
ci.mCPUCount = Integer.decode(value);
ci.mCPUCount = ci.mCPUCount == 0 ? 1 : ci.mCPUCount;
} catch (NumberFormatException e) {
ci.mCPUCount = 1;
}
}
} else if (item.contains("BogoMIPS")) {
int index = item.indexOf(": ");
if (index >= 0) {
String value = item.substring(index + 2);
}
}
}
return ci;
}
/**
* 获取设备内存大小值
* @return 内存大小,单位MB
*/
public static long getTotalMemory() {
String str1 = "/proc/meminfo";
String str2;
String[] arrayOfString;
long initial_memory = 0;
try {
FileReader localFileReader = new FileReader(str1);
BufferedReader localBufferedReader = new BufferedReader(localFileReader, 8192);
str2 = localBufferedReader.readLine();
if (str2 != null) {
arrayOfString = str2.split("\\s+");
initial_memory = Integer.valueOf(arrayOfString[1]).intValue()/1024;
}
localBufferedReader.close();
return initial_memory;
}
catch (IOException e)
{
return -1;
}
}
/**
* @hide
* @return
*/
public CPUInfo getCPUInfo() {
String strInfo = null;
try
{
byte[] bs = new byte[1024];
RandomAccessFile reader = new RandomAccessFile("/proc/cpuinfo", "r");
reader.read(bs);
String ret = new String(bs);
int index = ret.indexOf(0);
if(index != -1) {
strInfo = ret.substring(0, index);
} else {
strInfo = ret;
}
}
catch (IOException ex)
{
strInfo = "";
ex.printStackTrace();
}
CPUInfo info = parseCPUInfo(strInfo);
info.mCPUMaxFreq = getMaxCpuFreq();
return info;
}
/**
* 获取android CPU类型
*
* @return String CPU类型
*/
public static String getCpuModel(){
String cpu_model = "";
CPUInfo in = getCPUInfo();
if ((in.mCPUType & CPUInfo.CPU_TYPE_ARMV5TE) == CPUInfo.CPU_TYPE_ARMV5TE)
cpu_model="armv5";
else if ((in.mCPUType & CPUInfo.CPU_TYPE_ARMV6) == CPUInfo.CPU_TYPE_ARMV6)
cpu_model="armv6";
else if ((in.mCPUType & CPUInfo.CPU_TYPE_ARMV7) == CPUInfo.CPU_TYPE_ARMV7)
cpu_model="armv7";
else
cpu_model="unknown";
return cpu_model;
}
/**
* 获取android CPU特性
*
* @return String CPU特性
*/
public static String getCpuFeature(){
String cpu_feature = "";
CPUInfo in = getCPUInfo();
if ((in.mCPUFeature & CPUInfo.CPU_FEATURE_NEON ) == CPUInfo.CPU_FEATURE_NEON)
cpu_feature="neon";
else if ((in.mCPUFeature & CPUInfo.CPU_FEATURE_VFP ) == CPUInfo.CPU_FEATURE_VFP)
cpu_feature="vfp";
else if ((in.mCPUFeature & CPUInfo.CPU_FEATURE_VFPV3 ) == CPUInfo.CPU_FEATURE_VFPV3)
cpu_feature="vfpv3";
else
cpu_feature="unknown";
return cpu_feature;
}
/**
* 获取ip地址
*
* @param mContext Context
* @return ip地址字符串
*/
public static String getIpAddress(Context mContext) {
String ipAddress = null;
try {
for (Enumeration<NetworkInterface> en = NetworkInterface
.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf
.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
ipAddress = inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
return null;
}
if (DEBUG) {
Log.d(TAG, "ip address:" + ipAddress);
}
return ipAddress;
}
Ⅸ android 获取cpu信息就获取了一个0是什么意思
可以用cat /proc/cpuinfo这样的命令来获取文件内容,检查下你的输入是否有误
1. cpu基本信息:
# cat cpuinfo
cat cpuinfo
Processor : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 996.00
Features : swp half thumb fastmult vfp edsp neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part : 0xc08
CPU revision : 2
Hardware : GT-P1000
Revision : 0012
Serial : 323049f4d7e500ec
2. cpu核数:
# ls -l /sys/devices/system/cpu
ls -l /sys/devices/system/cpu
-r--r--r-- root root 4096 2014-08-05 15:38 online
-r--r--r-- root root 4096 2014-08-05 15:38 possible
-r--r--r-- root root 4096 2014-08-05 15:38 present
-r--r--r-- root root 4096 2014-08-05 15:38 kernel_max
-r--r--r-- root root 4096 2014-08-05 15:38 offline
drwxr-xr-x root root 2014-08-05 15:38 cpufreq
drwxr-xr-x root root 2014-08-05 15:38 cpuidle
drwxr-xr-x root root 2014-08-05 15:35 cpu0
可见,在这个目录下保存了cpu更多的信息,其中,kernel_max就是cpu核数,注意,如果为0,则表示是单核;wei1,表示双核,以此类推。
以下,是一些例子:
# cat kernel_max (cpu核数)
cat kernel_max
0
3. cpu频率:
#ls /sys/devices/system/cpu/cpu0/cpufreq(存放cpu频率相关的文件夹)
cpuinfo_min_freq
cpuinfo_max_freq
cpuinfo_transition_latency
scaling_min_freq
scaling_max_freq
affected_cpus
related_cpus
scaling_governor
scaling_driver
scaling_available_governors
scaling_setspeed
cpuinfo_cur_freq
scaling_cur_freq
conservative
stats
# cat cpuinfo_min_freq (最小频率)
cat cpuinfo_min_freq
100000
# cat cpuinfo_max_freq (最大频率)
cat cpuinfo_max_freq
1000000