Gibt es in Linux eine Möglichkeit, einer bestimmten Anwendung mehr oder weniger Priorität für die Netzwerkbandbreite zu geben? So ähnlich wie nice
bei CPU-Priorität.
Kontext: Ich verwende derzeit eine Verbindung mit sehr geringer Bandbreite (3G-Dongle). Während ich mit ein ziemlich umfangreiches Upgrade durchführe aptitude
, wird es praktisch unmöglich, im Internet zu surfen, da der Upgrade-Download meine Internetverbindung beeinträchtigt.
Was ich also tun möchte, ist, die Netzwerkbandbreitenpriorität des aptitude
Prozesses (und aller seiner untergeordneten Prozesse) zu verringern , damit er nicht zu viel Bandbreite verwendet, während ein anderer Prozess ihn verwendet.
Antworten:
Sie können force_bind verwenden, um eine Priorität für alle Sockets einer Anwendung festzulegen, und dann mithilfe von Linux QoS (Befehl tc) Anwendungen einem Prioritätsband zuweisen. Überprüfen Sie die README-Datei für ein Beispiel.
Haftungsausschluss: Ich bin der Autor.
Beispiel:
Natürlich können Sie auch htb oder eine andere qdisc verwenden.
quelle
trickle
(erhältlich zumindest in ubuntu und debian) wird das auch für Sie tun, und vielleicht ein bisschen einfacher zu bedienen sein:trickle -d 1 -u 1 aptitude
. Zahlen sind Kilobyte.trickle
kann zur Einrichtung eines Bandbreitenlimits verwendet werden, kann jedoch nicht zur Definition von Prioritäten zwischen Prozessen verwendet werden