Linux进程调度与时间测量全解析
1. Linux进程优先级与状态
1.1 POSIX实时优先级
在Linux中,传递给 sched_setscheduler 的POSIX实时优先级范围是1到99。不过,Linux调度器使用的是一个包含普通进程和实时进程的连续优先级范围,从0到139。例如,当你分配一个实时优先级为1时,调度器使用的绝对优先级是41。可以通过以下命令查看:
$ chrt -f 1 ps -C ps -o pri,ni,rtprio,comm
PRI NI RTPRIO COMMAND
41 - 1 ps
在这个输出中, PRI 列是调度器使用的绝对优先级, RTPRIO 列显示的是实时范围内的优先级。注意,由于实时进程的 nice 值无效,所以 NI 字段显示为连字符。
1.2 进程状态
进程在其生命周期中会经历多个状态,用户可以通过 ps 等工具或 /proc 文件系统查看这些状态。常见的进程状态及其缩写如下表所示:
| 状态 | 缩写 | 含义 |
| ---- | ---- | ---- |
| Running | R | 正在运行或准备运行 |
| Interruptible | S | 阻塞等待事件,但可能被信号唤醒 |
| Uninter
超级会员免费看
订阅专栏 解锁全文
553

被折叠的 条评论
为什么被折叠?



