0%

第5、6课-卡顿优化

卡顿优化<上>

基础知识

获取cpu信息:

1
2
3
4
5
// 获取 CPU 核心数
cat /sys/devices/system/cpu/possible

// 获取某个 CPU 的频率
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq

卡顿指标

出现卡顿,首先应该看cpu使用率,可以通过 /proc/stat 查看系统的cpu使用情况:

1
2
3
4
5
proc/self/stat:
utime: 用户时间,反应用户代码执行的耗时
stime: 系统时间,反应系统调用执行的耗时
majorFaults:需要硬盘拷贝的缺页次数
minorFaults:无需硬盘拷贝的缺页次数

如果cpu使用率长期大于60%,表示系统处于繁忙状态,就需要进一步分析用户时间和系统时间的比例。普通应用程序系统时间不会长期高于 30% ,如果高于这个值,就应该检查是否是I/O过多,还是其他的系统调用问题

另外,top 命令可以查看哪个进程是cpu消耗大户。

谢谢你的鼓励