12.2. 抢占调度
实时抢占是临时中断执行任务的机制,目的是以后恢复该任务。当优先级较高的进程中断 CPU 用量时,会发生它。抢占可能会对性能有负面影响,持续抢占可能会导致状态称为 thrashing。当进程被持续抢占且没有完全运行任何进程时,会出现这个问题。更改任务的优先级有助于减少非自愿抢占。
您可以通过查看 /proc/PID/status 文件的内容来检查在单个进程上发生的 voluntary 和非自愿抢占,其中 PID 是进程标识符。
以下示例显示了 PID 为 1000 的进程的抢占状态。
# grep voluntary /proc/1000/status
voluntary_ctxt_switches: 194529
nonvoluntary_ctxt_switches: 195338