3-3 进程调度
文章目录
【注意】最后更新于 October 25, 2022,文中内容可能已过时,请谨慎使用。
3-3 进程调度
进程调度
pcntl_fork创建一个子进程,此时会存在两个进程,此时cpu先执行那个进程由操作系统决定,一般父进程先运行几率高
在PHP扩展中,封装了可以控制进程优先级的函数
观察进程的调度信息 top|ps命令
第一行是操作系统信息,用户数,启动时间,平均负载
第二行 各状态任务 在linux中一个进程或线程为一个任务
第三行 cpu信息 .四 : 物理内存. 五: 交换分区 虚拟内存
PID 进程标识
USER 用户标识
PR : priority 优先级
NI : nice 进程的nice值 nice值越小,优先级越高
pcntl_setpriority 修改任意进程的优先级 https://www.php.net/manual/zh/function.pcntl-setpriority.php
|
|
首先不给子进程设置优先级
可以看到父子进程的nice值相差不大,父进程的cpu占比要比子进程高些
给子进程设置优先级 20
可以看到此时父进程的cpu占比远超子进程,子进程的nice值变成了19
同样的,不改变子进程,调整父进程的nice值,同样会改变父进程的优先级,同时调整的话,父进程的优先级还是会略高于子进程