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