3. 搞玄学?看看进程切换
看看进程切换
vmstat 能汇报操作系统当前的状态, 看上面的第二行, 不同的参数划分成不同类下的指标
进程相关(procs指标)
r = ready. 就绪进程的数量
b = blocked. 不可中断的进程数量
内存相关(memory指标)
swpd = swapped. 虚拟内存使用量
free 还有多少内存可用
进程中断数量(system指标)
in = interrupted. 中断数量(包含进程/线程的中断), 包括因为等待IO, 以及时间片到期等因素
cs = context switch. 上下文切换数量
pidstat 能汇报上下文切换的情况:
cswtch: context switch, 每秒上下文切换次数
nv-cswtch: non-voluntary-context-switch, 每秒非自愿上下文切换次数(指时间片到期)
与进程相关的API
exec: 执行一个新任务, 只不过使用另一个App的镜像
fork: 出一个子进程, 此时父进程如果
不等子进程就直接退出, 子进程全都变成孤儿进程变成1号进程的子进程. 这招我们在pause容器的设计的时候说过, 我们需要pause作为1号进程来负责收集并妥善给所有孤儿进程善后
不使用wait来收集子进程的信息, 故而子进程的进程描述符依旧留在操作系统中, 占用PID信息
Last updated
Was this helpful?