系统调优

1、 先看cpu利用率,使用top命令

定位设备调优流程_定位设备卡顿调优

    可以看到一些占用cpu率高的进程。如进程号为88899的进程./test

2、 统计perf命令,统计cpu在调用那些系统调用,也就是内核使用率

    perf top -C 0

定位设备调优流程_定位设备卡顿调优_02

    可以看到第一条占内核最多。

    然后perf top -p 6491 查看自己的进程使用情况

定位设备调优流程_定位设备卡顿调优_03

    从内核调用情况来看,确实是这个进程导致的。大致可以分析应该是在想tty write

3、 在用strace 命令查看该进程在干什么

    strace-fp 88899

定位设备调优流程_定位设备卡顿调优_04

    通过上面三个步骤大致就可以定位到那个进程占用cpu高,在哪块循环。

 

    然后合适的修改循环间隔和逻辑,就可达到降低使用cpu了。

定位设备调优流程_定位设备卡顿调优_05

    将延迟改为2s后再去看cpu利用率

    top

定位设备调优流程_定位设备卡顿调优_06

    Perf

定位设备调优流程_定位设备卡顿调优_07

4、 合理使用taskset命令,合理利用cpu

定位设备调优流程_定位设备卡顿调优_08

定位设备调优流程_定位设备卡顿调优_09

定位设备调优流程_定位设备卡顿调优_10

***补充内存使用和cpu使用相关命令
1)ps命令
ps aux --sort=-rss //所有进程按占用物理内存从大到小排序
2)top命令(有cpu和内存使用情况)
top 后按c查看每个core上的cpu占用情况
3)cat cat /proc/pid/status
VmSize对应虚拟内存大小
VmRSS对应物理内存大小
4)清空缓存
echo 3 >/proc/sys/vm/drop_caches
5)查看cpu多少core
cat /proc/cpuinfo
6)查看物理内存
free
cat /proc/meminfo