[SOLVED] Wo kann ich die txqueuelen auf 10000 stellen

Master67

Active Member
Mar 18, 2020
70
2
28
57
Hallo Leute,

ich nutze schon eine Zeit lang eine 10GB Netzwerkkarte, der 1GB NIC ist deaktiviert, die Karte Arbeite und wird Erkannt (PCI).
Nun ist mir aber Aufgefallen das die "qlen 1000" Eingestellt sind, die müssten aber doch bei einer 10GB Karte auf "10000" stehen, eine Suche im
Netz bestätigte das.
Die Frage ist, macht das Sinn und wenn ja, wo kann man das Einstellen, die Hinweise im Netz sind nicht wirklich in Proxmox zu übertragen :)

Danke für eure Hilfe :cool:
 
Hi,

das kannst du über verschiedene Wege machen:
Einerseits temporär (sprich bis zum nächsten Reboot) mit ip link set <ifname> txqueuelen 10000.

Um das permament zu machen ist eine udev-rule wohl das beste:
Dazu einfach z.B. /etc/udev/rules.d/90-txqueuelen.rules erstellen mit dem Inhalt:
Code:
SUBSYSTEM=="net", ACTION=="add|change", NAME=="<ifname>", ATTR{tx_queue_len}="10000"

(<ifname> natürlich mit dem eigentlichen Namen des Interfaces ersetzen.)
 
Hallo,

du kannst das auch ueber /etc/network/interfaces machen:

einfach post-up /sbin/ip link set <ifname> txqueuelen 10000 am ende des interfaces hinzufuegen.

Code:
auto <ifname>
iface <ifname> inet static
    ...
    post-up /sbin/ip link set <ifname> txqueuelen 10000
 
Danke an euch zwei für die Hilfe, aber keines führt zum Erfolg, oder die "Anzeige" stimmt nicht!

Zum Beispiel der Befehl
Code:
ip link set vmbr0 txqueuelen 10000
geht ohne Probleme durch.
Checke ich das nun kurz per
Code:
ip a
gegen, wird immer noch "qlen 1000" Angezeigt.
 
Ups.... nach einem zweiten Neu Start sind die 10000 jetzt da!
Danke für eure Hilfe :cool:
 
Perfekt, freut mich dass dann alles funktioniert hat!

Bitte abschließend den Thread noch als [solved] markieren (1. Post editieren), der Vollständigkeit halber und damit auch andere in Zukunft diesen Thread einfacher finden können. :)
 
Hi,

das kannst du über verschiedene Wege machen:
Einerseits temporär (sprich bis zum nächsten Reboot) mit ip link set <ifname> txqueuelen 10000.

Um das permament zu machen ist eine udev-rule wohl das beste:
Dazu einfach z.B. /etc/udev/rules.d/90-txqueuelen.rules erstellen mit dem Inhalt:
Code:
SUBSYSTEM=="net", ACTION=="add|change", NAME=="<ifname>", ATTR{tx_queue_len}="10000"

(<ifname> natürlich mit dem eigentlichen Namen des Interfaces ersetzen.)
geht das auch mit wildcards? also allen interfaces auch die virtuellen, die nach dem start einer vm/ct erstellt werden?

prinzipiell möchte ich alle nic auch lo und vmbrx mit 10000 versehen
 
Last edited:
Habe es gelöst.

SUBSYSTEM=="net", ACTION=="add", KERNEL=="eth*", ATTR{tx_queue_len}="10000"
SUBSYSTEM=="net", ACTION=="add", KERNEL=="eno*", ATTR{tx_queue_len}="10000"
SUBSYSTEM=="net", ACTION=="add", KERNEL=="vmbr*", ATTR{tx_queue_len}="10000"
SUBSYSTEM=="net", ACTION=="add", KERNEL=="tap*", ATTR{tx_queue_len}="10000"
SUBSYSTEM=="net", ACTION=="add", KERNEL=="fw*", ATTR{tx_queue_len}="10000"

in Datei etc/udev/rules.d/71-net-txquelen.rules

danach Reboot.
 
Sehr gut.

Tipp: Du musst nicht umbedingt rebooten.
Du kannst auch einfach die udev rules reloaden:
Code:
# udevadm control --reload-rules && udevadm trigger
 
  • Like
Reactions: mac.linux.free
Klappt leider nicht, da die Rule erst beim adden einer NIC zieht.
ggf. bei...

SUBSYSTEM=="net", ACTION=="add|change", KERNEL=="eth*", ATTR{tx_queue_len}="10000"
SUBSYSTEM=="net", ACTION=="add|change", KERNEL=="eno*", ATTR{tx_queue_len}="10000"
SUBSYSTEM=="net", ACTION=="add|change", KERNEL=="vmbr*", ATTR{tx_queue_len}="10000"
SUBSYSTEM=="net", ACTION=="add|change", KERNEL=="tap*", ATTR{tx_queue_len}="10000"
SUBSYSTEM=="net", ACTION=="add|change", KERNEL=="fw*", ATTR{tx_queue_len}="10000"
 
  • Like
Reactions: MarkusF
Hallo,

du kannst das auch ueber /etc/network/interfaces machen:

einfach post-up /sbin/ip link set <ifname> txqueuelen 10000 am ende des interfaces hinzufuegen.

Code:
auto <ifname>
iface <ifname> inet static
    ...
    post-up /sbin/ip link set <ifname> txqueuelen 10000

Does it make a difference if I use the command in pre-up or post-up?
 
Does it make a difference if I use the command in pre-up or post-up?
pre-up should also work. /sbin/ip link set <ifname> txqueuelen 10000 does not need the interface to be up.

Edit: The Interface has to exist so that ip link can be run. So post-up is more ideal for most cases.
 
Last edited:
  • Like
Reactions: Max2048

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!