Linux 的 nice 命令

Linux 的 nice 命令是用来调整进程优先级的实用工具,它通过修改进程的 nice 值来影响内核调度器对进程的调度优先级。以下是关于 nice 命令的详细说明:

  1. 基本概念
  • nice 值范围:通常为 -20(最高优先级)到 19(最低优先级)
  • 默认值:新创建的进程默认 nice 值为 0
  • 权限限制:普通用户只能降低优先级(增大 nice 值),只有 root 用户可以提高优先级(减小 nice 值)
  1. 命令语法
    基本格式:
bash 复制代码
nice [OPTION] [COMMAND [ARG]...]

常用选项:

  • -n:指定 nice 值的增量(默认增量为 10)
  • --adjustment=N:直接设置 nice 值为 N
  1. 使用示例
    a) 以低优先级运行程序:
bash 复制代码
nice -n 10 ./long_running_script.sh

b) 以高优先级运行程序(需要 root 权限):

bash 复制代码
sudo nice -n -10 ./critical_process

c) 查看进程的当前 nice 值:

bash 复制代码
ps -o pid,ni,cmd -p [PID]
  1. 应用场景
  • 后台批处理作业:可以设置为低优先级
  • 关键服务进程:可能需要设置为高优先级
  • 系统负载均衡:通过调整不同进程优先级来优化系统性能
  1. 注意事项
  • 修改后的优先级会继承给子进程
  • 实时进程的优先级不受 nice 值影响
  • 可以使用 renice 命令修改已运行进程的优先级
  1. 相关命令
  • renice:修改已运行进程的优先级
  • top/htop:查看进程优先级
  • chrt:设置实时调度策略
相关推荐
Alluxio6 分钟前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
StarsGreen2 小时前
libva在intel平台上的前端流程简介
linux
坤坤子吖4 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
Sayai4 小时前
Neo4j 图数据质量检查实战:环路检测、孤立节点与连通分量,两条 Cypher 引出的数据体检清单(含变长路径性能陷阱)
运维·neo4j·图数据库·数据质量·cypher
青瓦梦滋5 小时前
Redis主从复制
服务器·数据库·redis·缓存·bootstrap
Elastic 中国社区官方博客5 小时前
更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描
大数据·运维·开发语言·人工智能·elasticsearch·搜索引擎
方便面不加香菜5 小时前
Docker Volume -- 管理卷Volume详解
运维·docker·容器
沫璃染墨6 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
Felven6 小时前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool
江湖有缘6 小时前
Docker实战 | 使用Docker部署lemonitor镜像站点列表程序
运维·docker·容器