如何在Linux中路由优先级 Linux metric值设置

Linux routing priority depends on the metric value. For multiple ports, choose the port with the smaller metric. 对于临时更改,请使用 iproute。
As for permanent changes, it depends on the system, such as Netplan or ifcfg-eth0. DHCP is also affected, change the DHCP configuration or specify it manually. 不要使用相同的指标,也不要使高优先级路由无法访问。
After modification, use iproute show or ping to verify.
See for yourself whether these settings are correct?

如何在Linux中进程调度 Linux chrt优先级设置

CFS调度使用nice值,实时调度使用chrt。

-2 0 到 1 9 是一个不错的范围,-2 0 的权重最高。
SCHED_FIFO没有优先级,SCHED_RR有优先级。

只有root可以实时调整优先级,普通用户无法做到这一点。
The real-time process's priority is higher than CFS, even if it is 1 . 高优先级的无限循环可能会导致系统崩溃。
内存锁限制应该足够了。

Run a test environment first, don't go directly to production. 任务集链接到核心以减少切换。

美是相对的,美是绝对的。

Linux 内核线程优先级的设置和调整:如何提高内核线程的性能和响应

2 02 3 年 3 月 1 5 日。
我的一个朋友正在考虑 Linux 系统上的内核线程优先级。
他说,这件事非常重要。

内核线程在内核空间中运行。
可以调整偏好。
有多种调度策略。

SCHED_NORMAL:正常调度。
优先级1 00到1 3 9 使用nice值来指定。
就像我们平时使用电脑一样。

SCHED_FIFO:实时调度。
先到先得。
如果它正在占用CPU,除非有更高优先级的东西出现,否则它不会被释放,或者它会自行停止。

SCHED_RR:实时调度。
时间片旋转。
超时后更换。
也可以高优先级抓取。

实时优先级为0到MAX_RT_PRIO-1 默认是0到9 9
设置优先级,Linux有系统调用。

nice():改变nice值。
数字越高,越低。

sched_setscheduler():改变调度策略。

sched_getscheduler():查看当前使用的策略。

sched_setparam():更改实时优先级。
数字越大,优先级越高。

sched_getparam():查看实时优先级。

sched_get_priority_max():查看最大优先级。

sched_get_priority_min():查看最小优先级。

sched_rr_get_interval():查看时间间隔是多长。

sched_setaffinity():绑定CPU。
让线程固定在特定的CPU上。

sched_getaffinity():检查绑定的CPU。

sched_yield():让出CPU。

他给我看了代码。

c 包括 包含 包括
int set_kernel_thread_priority(intpriority) { struct sched_param 参数; param.sched_priority = 优先级; if (sched_setscheduler(0, SCHED_FIFO, ¶m) == -1 ) { perror("sched_setscheduler 失败"); 返回-1 ; } 返回0; }
int main() { if (set_kernel_thread_priority(9 9 ) == -1 ) { fprintf(stderr, "设置优先级失败\n"); 返回1 ; } printf("优先级设置\n"); 返回0;
他说,为了提高绩效,我们应该注意几件事。

选择调度策略。

对于实时分配,请使用 SCHED_FIFO 或 SCHED_RR。
设置高优先级。
例如,9 9
对于普通任务,请使用 SCHED_NORMAL。
只需调整好值即可。

设定合理的优先事项。

实时优先级为0到9 9 数字越大,优先级越高。
不要设置最高值。
会抢资源。

使用处理器关联性。

使用sched_setaffinity绑定CPU。
例如,绑定到 CPU 0。
这可以减少上下文切换。
缓存也很有用。

避免优先级反转。

高优先级被低优先级阻止。
这不好。
通过使用实时调度和正确设置优先级可以避免这种情况。

监控和调整。

使用top、htop、ps等工具检查线程状态。
看看优先事项。

根据您所看到的情况,调整优先级和调度策略。

有几点需要注意。

更改实时首选项通常需要 root 权限。

如果设置不正确,系统可能会变得不稳定。
当心。

在生产环境中使用之前,必须经过充分的测试。

算了。
由你决定。