溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在Linux系統(tǒng)中使用限制網(wǎng)絡(luò)帶寬

發(fā)布時間:2021-09-27 11:18:51 來源:億速云 閱讀:138 作者:iii 欄目:系統(tǒng)運維

本篇內(nèi)容主要講解“如何在Linux系統(tǒng)中使用限制網(wǎng)絡(luò)帶寬”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何在Linux系統(tǒng)中使用限制網(wǎng)絡(luò)帶寬”吧!

在 Linux 中限制一個應(yīng)用的速率

限制網(wǎng)絡(luò)流量速率的一種方法是通過一個名為trickle的命令行工具。通過在程序運行時,預先加載一個速率限制 socket 庫 的方法,trickle 命令允許你改變?nèi)我庖粋€特定程序的流量。 trickle 命令有一個很好的特性是它僅在用戶空間中運行,這意味著,你不必需要 root 權(quán)限就可以限制一個程序的帶寬使用。要能使用 trickle 程序控制程序的帶寬,這個程序就必須使用非靜態(tài)鏈接庫的套接字接口。當你想對一個不具有內(nèi)置帶寬控制功能的程序進行速率限制時,trickle 可以幫得上忙。

在 Ubuntu,Debian 及其衍生發(fā)行版中安裝 trickle :   

代碼如下:

$ sudo apt-get install trickle

在 Fdora 或 CentOS/RHEL (帶有 EPEL 軟件倉庫):   

代碼如下:

$ sudo yum install trickle

trickle 的基本使用方法如下。僅需簡單地把 trickle 命令(及速率參數(shù))放在你想運行的命令之前。   

代碼如下:

$ trickle -d <download-rate> -u <upload-rate>  <command>

這就可以將 <command> 的下載和上傳速率限定為特定值(單位 KBytes/s)。

例如,將你的 scp 會話的最大上傳帶寬設(shè)定為 100 KB/s:   

代碼如下:

$ trickle -u 100 scp backup.tgz alice@remote_host.com:

如若你想,你可以通過創(chuàng)建一個自定義啟動器的方式,使用下面的命令為你的 Firefox 瀏覽器設(shè)定最大下載速率(例如, 300 KB/s)。  

代碼如下:

trickle -d 300 firefox %u

最后, trickle 也可以以守護進程模式運行,在該模式下,它將會限制所有通過 trickle 啟動且正在運行的程序的總帶寬之和。 啟動 trickle 使其作為一個守護進程(例如, trickled):   

代碼如下:

$ sudo trickled -d 1000

一旦 trickled 守護進程在后臺運行,你便可以通過 trickle 命令來啟動其他程序。假如你通過 trickle 啟動一個程序,那么這個程序的最大下載速率將是 1000 KB/s, 假如你再通過 trickle 啟動了另一個程序,則每個程序的(下載)速率極限將會被限制為 500 KB/s,等等。
在 Linux 中限制一個網(wǎng)絡(luò)接口的速率

另一種控制你的帶寬資源的方式是在每一個接口上限制帶寬。這在你與其他人分享你的網(wǎng)絡(luò)連接的上行帶寬時尤為實用。同其他一樣,Linux 有一個工具來為你做這件事。wondershaper就是干這個的。

wondershaper 實際上是一個 shell 腳本,它使用 tc 來定義流量調(diào)整命令,使用 QoS 來處理特定的網(wǎng)絡(luò)接口。外發(fā)流量通過放在不同優(yōu)先級的隊列中,達到限制傳出流量速率的目的;而傳入流量通過丟包的方式來達到速率限制的目的。

事實上, wondershaper 的既定目標不僅僅是對一個接口增加其帶寬上限;當批量下載或上傳正在進行時,wondershaper 還試圖去保持互動性會話如 SSH 的低延遲。同樣的,它還會控制批量上傳(例如, Dropbox 的同步)不會使得下載“窒息”,反之亦然。

在 Ubuntu Debian 及其衍生發(fā)行版中安裝 wondershaper:   

代碼如下:

$ sudo apt-get install wondershaper

在 Fdora 或 CentOS/RHEL (帶有 EPEL 軟件倉庫) 中安裝 wondershaper:   

代碼如下:

$ sudo yum install wondershaper

wondershaper 的基本使用如下:    

代碼如下:

$ sudo wondershaper <interface> <download-rate> <upload-rate>

舉個例子, 將 eth0 的最大下載/上傳帶寬分別設(shè)定為 1000Kbit/s 和 500Kbit/s:   

代碼如下:

$ sudo wondershaper eth0 1000 500

你也可以通過運行下面的命令將速率限制進行消除:   

代碼如下:

$ sudo wondershaper clear eth0

假如你對 wondershaper 的運行原理感興趣,你可以閱讀其 shell 腳本源文件(/sbin/wondershaper)。

到此,相信大家對“如何在Linux系統(tǒng)中使用限制網(wǎng)絡(luò)帶寬”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI