理解进程优先级范围:让你的电脑更听话

你有没有遇到过这种情况:电脑正在跑一个大型程序,卡得鼠标都拖不动,但你还想临时处理点别的事?这时候,如果能告诉系统“先让我把文档保存了”,问题就轻松解决了。其实,这背后靠的就是进程优先级的调节。

什么是进程优先级

简单来说,操作系统在同时运行多个程序时,并不是平均分配资源的。每个进程都有一个“优先级数值”,系统会根据这个数值决定谁先用 CPU、谁多用、谁少用。这个数值的范围,在 Linux 系统中通常是 -20 到 19。

注意,数值越小,优先级越高。也就是说,-20 是最高优先级,19 是最低。别被反直觉的数字搞晕了,你可以把它想象成比赛名次:第 -20 名就是冠军,第 19 名就是垫底选手。

怎么查看和修改优先级?

打开终端,用 ps 命令就能看到当前进程的优先级(也叫 nice 值):

ps -eo pid,ppid,ni,pri,pcpu,comm --sort=-pcpu

输出中 ni 那一列就是 nice 值,也就是我们说的优先级范围值。如果你想启动一个程序时就给它低优先级,避免影响其他操作,可以用 nice 命令:

nice -n 10 your_program

这样,your_program 就会在较低优先级下运行,不会抢走你正在用的浏览器或聊天软件的资源。

如果程序已经在跑了,还可以用 renice 动态调整:

renice 15 1234

这里的 1234 是进程 PID,执行后该进程的 nice 值就会变成 15,变得更“谦让”。

什么时候该用高优先级?

比如你在导出一段高清视频,希望它尽快完成,而你暂时不打算做其他重负载任务,就可以提升它的优先级:

nice -n -5 video_export_tool

不过要注意,普通用户不能设置低于 0 的优先级(即更高性能),必须用 sudo 提权:

sudo renice -10 5678

否则系统会提示权限不足。

合理利用进程优先级范围,就像给家里的电器安排插座顺序——烧水壶功率大,可以优先用;台灯功率小,晚点开也没关系。系统资源有限,懂得调度,才能让电脑用起来更顺手。