qdisc 알고리즘 sysctl 및 tc 변경

qdisc 알고리즘 sysctl 및 tc 변경

tc명령과 qdisc를 통해 무엇을 제어합니까 sysctl net.core.default_qdisc? 고려하다

$ tc qdisc show dev eth2
qdisc mq 0: dev eth2 root 

$ sysctl net.core.default_qdisc
net.core.default_qdisc = pfifo_fast

이 시스템에서 기본 qdisc 설정은 다음과 같습니다.pfifo_fast하지만 사용된 qdisc는MQ(멀티 큐) 재시작 후. 그것들이 직접적인 관련이 없거나 적어도 "즉시 사용 가능한" 방식이 아니라는 것은 분명합니다. 이 링크Linux 네트워크 스택의 큐잉과 관련하여 명확하게 tc qdisc ...적용됩니다.대기줄이는 IP 스택과 드라이버 큐 사이에 위치합니다.

누구든지 이 두 가지를 명확하게 구분할 수 있도록 도와줄 수 있습니까?

답변1

다중 대기열("mq") 스케줄러를 사용하면 Linux 커널이 패킷 처리 로드가 여러 CPU 코어에 분산되는 RSS(Receive Side Scaling)라는 기능을 지원할 수 있습니다.

내 Ubuntu 18.04.1 데스크탑 시스템에서 net.core.default_qdisc는 pfifo_fast로 설정되어 있으며 다음 명령을 실행합니다.

$ tc qdisc show dev eth0

출력은 다음과 같습니다.

qdisc mq 0: root
qdisc pfifo_fast 0: parent :2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: parent :1 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1

mq 스케줄러는 기본적으로 장치 eth0에 두 개의 pfifo_fast 대기열을 구성합니다.

문제가 해결되기를 바랍니다.

관련 정보