性能测试连载 (36)-cpu 时间片与进程优先级
进程优先级
执行top命令,观察nice和pr
nice值的范围是-20到+19。各位是不是觉得nice值越大,优先级就越高?恰恰相反,nice值越低,优先级越高。
nice的范围从-20到+19,正值表示低优先级,负值表示高优先级。0表示不调整该进程的优先级。-20表示一项任务非常紧急;相反的,如果nice值为+19,则表示它是一个无关紧要的任务,允许所有其他任务比自己享有更多的CPU时间,这也是nice的名称来源。
pr值叫实时优先级,范围是从0到99。与nice值相反,pri的值越高,进程优先级就越高。任何实时进程的优先级都高于普通进程
执行ps -l [pid],观察pri值
PID:进程号
PPID:该进程的父进程号
PRI:优先级
NI:nice值
TIME:占用CPU时间
nice值不是优先级,但会影响优先级。PRI(new)=PRI(old)+(Newnice-Oldnice)
nice的值影响了内核分配给进程的cpu时间片的多少。nice越低,进程时间片越多,值(PRI)越低,进程的优先级就越高
** 进程类型
系统进程类型主要有两种。cpu密集型和io密集型。I/O密集型如字面意思一样,会把大部分时间消耗在I/O请求和等待I/O上,cpu的真正使用率很低;而cpu密集型会把大部分时间用在CPU计算;如果知道cpu的时间片原理,就会明白给这两种进程分配的时间片长度相等是对资源的一种浪费。
进程运行模式
linux进程采取抢占式的运行方法。意思就是某个优先级更高的进程获得了资源进入了就绪(Runnable)状态,那么它就会把当前cpu正在运行的进程一脚踢开,强行霸占cpu


浙公网安备 33010602011771号