CGroup原理篇V1十四NET_PRIO子系统

Posted 高桐@BILL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CGroup原理篇V1十四NET_PRIO子系统相关的知识,希望对你有一定的参考价值。

写在前面

Network priority cgroup为管理员提供了一个接口,并允许其可以动态的设置由各种各样应用程序产生的网络流量的优先级。

正常情况下,一个应用程序可以通过SO_PRIORITY套接字选项来设置它的网络优先级。但这个操作并不总是有效。因为下面两点:

  1. 应用程序可能未进行编码设置这个值。
  2. 应用程序的流量优先级常常优先适配管理员所指定的优先级,管理员指定的优先级往往高于应用程序所指定的优先级。

一、参数配置

net_prio子系统也称为网络优先权控制组,可以为net_prio子系统中的进程动态配置网络接口的流量优先级。

该控制组允许管理员为进程分配一个组,这个组定义了给定接口上定义的出口流量优先级。

1.1 net_prio.prioidx

只读参数文件,它包含一个唯一的数值用于在内核中代表该控制组。

1.2 net_prio.ifpriomap

map格式形如[<network_interface> <priority>];map是该控制组中进程从各个网络接口向往流出流量的优先级映射。

写入示例如下:

# echo "eth0 5" > /cgroup/net_prio/test/net_prio.ifpriomap

# cat /cgroup/net_prio/test/net_prio.ifpriomap
eth0 5
eth1 4
eth2 6

这个命令将会强制属于net_prio控制组的进程生成的流量在出口eth0上获得优先级等级为5。父控制组也有一个“net_prio.ifpriomap”文件可以被用来设置系统默认的优先级。

优先级是在排队到设备排队规则 

以上是关于CGroup原理篇V1十四NET_PRIO子系统的主要内容,如果未能解决你的问题,请参考以下文章

CGroup原理篇V1五BLKIO子系统

CGroup原理篇V1十一Memory子系统(Memcg)实现备忘录

CGroup原理篇V1十二Memory子系统

CGroup原理篇V1七CPUSET子系统

CGroup原理篇V11.2 CGroup的用法

CGroup原理篇V11.3 CGroup Kernel API介绍