上下文
首先,需要讲清楚什么是上下文。
每个任务运行前,CPU 都需要知道任务从哪里加载、又从哪里开始运行,这就涉及到 CPU 寄存器 和 程序计数器(PC):
- CPU 寄存器是 CPU 内置的容量小、但速度极快的内存;
- 程序计数器会存储 CPU 正在执行的指令位置,或者即将执行的指令位置。
这两个是 CPU 运行任何任务前都必须依赖的环境,因此叫做 CPU 上下文。
vmstat:主要用来分析系统的内存使用情况,也常用来分析 CPU 上下文切换和中断次数。
# 1 表示 每 1 秒 输出一次数据
->:~$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 5787772 2108 3448464 0 0 530 1766 699 975 14 9 73 5 0
0 0 0 5787648 2108 3448464 0 0 0 0 167 136 0 0 100 0 0
0 0 0 5787624 2108 3448464 0 0 0 0 196 167 0 0 100 0 0
in(interrupt):每秒中断次数。