一 设置 tuned 配置文件
1.1 系统调优
管理员可以基于多种工作负载特征来调整各种设置,以此优化系统性能。
tuned 守护进程使用反映特定工作负载特征的调优配置文件,以静态和动态两种方式进行调优。
配置静态调优:tuned 守护进程在服务启动时或选择新的调优配置文件时,应用调优设置,一般用于设置内核参数。
配置动态调优:tuned 守护进程会监视系统活动,并根据运行时行为的变化来调整设置。
1.2 安装并启用 tuned
默认情况下,RHEL9 的最小安装中包含并启用了 tuned 软件包,如需要手动安装并启用该软件包:
1.3 选择调优配置文件

tuned 的调优配置集存储在 /usr/lib/tuned(默认)和 /etc/tuned(自定义或当前有效)目录下。每个配置集都有一个单独的目录,目录中包含 tuned.conf 配置文件及其他可选文件。切勿直接修改 /usr/lib/tuned 系统目录中的文件:

1.4 从命令行管理配置文件
tuned-adm 命令用于更改 tuned 守护进程的设置。
二 影响进程调度
2.1 Linux 进程调度
现代计算机系统有一个共同点:需要运行的进程线程数量超出了其 CPU 数量。
通过使用称为 time-slicing 或 multitasking 的技术,Linux 和其他操作系统可运行超出其处理单元数的进程。
操作系统进程调度程序在单个核心上的进程之间快速切换,从而给人一种有多个进程在同时运行的印象。
2.2 进程优先级
可以设置针对不同的进程,采用不同的调度策略。
系统上运行的大多数进程所使用的调度策略称为 SCHED_OTHER(也称为 SCHED_NORMAL)。
可为采用 SCHED_NORMAL 策略运行的进程指定相对优先级,优先级称为 nice 值。
对于任何进程,有 40 种不同级别的 nice 值可以设置。
nice 值的范围介于 - 20(最高优先级)到 19(最低优先级)之间。
默认情况下,进程将继承其父进程的 nice 值,通常为 0。
nice 值越高,表示优先级越低(该进程容易将其 CPU 使用量让给其他进程);nice 值越低,表示优先级越高(该进程更加不倾向于让出 CPU)。
如果不存在资源争用(例如,当活动进程数少于可用 CPU 核心数时),即使 nice 值高的进程也将仍使用尽可能多 CPU 资源。
2.3 设置 nice 值和权限
只有 root 用户可以降低进程的 nice 值,普通用户的权限仅限于提高自己进程的 nice 值,不能降低自己进程的 nice 值。
2.4 使用 top 查看 nice 值
top 命令可通过交互方式查看和管理进程,可以查看 nice 值(NI)和 priority 值(PR)。nice 值 -20 映射至 PR 值 0:

2.5 通过命令显示 nice 值
ps 命令可显示进程的 nice 值。以下 ps 命令列出所有进程,包括其 PID、进程名称、nice 级别和调度类型,按 nice 降序排列。在 CLS 调度类型这一列中显示 TS 的进程将依照 SCHED_NORMAL 调度策略运行。nice 显示为短划线(-)的进程将依照其他调度策略运行,具有较高的优先级:

2.6 启动不同 nice 值进程
在进程创建过程中,进程会继承父级 nice 值。
从命令行启动进程时,进程将从启动它的 shell 进程那里继承 nice 值,通常,nice 值为 0:

所有用户都可以使用 nice 命令来启动具有默认或更高 nice 值的命令,默认为 10,-n 选项可以设置特定 nice 值。
2.7 更改现有 nice 级别
使用 renice 命令来更改现有进程的 nice 级别。

也可以使用 top 命令更改进程的 nice 级别。在 top 交互式界面中,按 r 键以访问 renice 命令,后跟要更改的 PID 和新的 nice 级别即可。
三 总结
-
tuned 服务可基于预定义的所选调优配置文件自动修改设备设置,以满足特定的系统需求。
-
要恢复所选的配置文件对系统设置所做的所有更改,可切换到另一个配置文件或停用 tuned 服务。
-
系统会为进程分配一个相对优先级,以确定其 CPU 访问权限。该优先级被称为进程的 nice 值。
-
nice 命令将在进程启动时为其分配优先级。renice 命令可修改正在运行的进程的优先级。
2797

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



