在本教程中,我將為你描述兩種在 linux 中限制網路流量速率的不同方法。
限制網路流量速率的一種方法是通過乙個名為trickle的命令列工具。通過在程式執行時,預先載入乙個速率限制 socket 庫 的方法,trickle 命令允許你改變任意乙個特定程式的流量。 trickle 命令有乙個很好的特性是它僅在使用者空間中執行,這意味著,你不必需要 root 許可權就可以限制乙個程式的頻寬使用。要能使用 trickle 程式控制程式的頻寬,這個程式就必須使用非靜態鏈結庫的套接字介面。當你想對乙個不具有內建頻寬控制功能的程式進行速率限制時,trickle 可以幫得上忙。
在 ubuntu,debian 及其衍生發行版中安裝 trickle :
$
sudo
apt-get
install trickle
在 fdora 或 centos/rhel (帶有 epel 軟體倉庫):
$
sudo
yuminstall trickle
trickle 的基本使用方法如下。僅需簡單地把 trickle 命令(及速率引數)放在你想執行的命令之前。
$ trickle -d
<
download
-rate
>-u
<
upload
-rate
>
<
command
>
例如,將你的 scp 會話的最大上傳頻寬設定為 100 kb/s:
$ trickle -u
100scp
backup
.tgz alice@remote_host
.com
:
trickle -d
300firefox
%u
最後, trickle 也可以以守護程序模式執行,在該模式下,它將會限制所有通過 trickle 啟動且正在執行的程式的總頻寬之和。 啟動 trickle 使其作為乙個守護程序(例如, trickled):
$
sudo
trickled -d
1000
另一種控制你的頻寬資源的方式是在每乙個介面上限制頻寬。這在你與其他人分享你的網路連線的上行頻寬時尤為實用。同其他一樣,linux 有乙個工具來為你做這件事。wondershaper就是幹這個的。
wondershaper 實際上是乙個 shell 指令碼,它使用 tc 來定義流量調整命令,使用 qos 來處理特定的網路介面。外發流量通過放在不同優先順序的佇列中,達到限制傳出流量速率的目的;而傳入流量通過丟包的方式來達到速率限制的目的。
在 ubuntu debian 及其衍生發行版中安裝 wondershaper:
$
sudo
apt-get
install wondershaper
在 fdora 或 centos/rhel (帶有 epel 軟體倉庫) 中安裝 wondershaper:
$
sudo
yuminstall wondershaper
wondershaper 的基本使用如下:
$
sudo
wondershaper
<
inte***ce
>
<
download
-rate
>
<
upload
-rate
>
$
sudo
wondershaper eth0
1000
500
你也可以通過執行下面的命令將速率限制進行消除:
$
sudo
wondershaper
clear
eth0
假如你對 wondershaper 的執行原理感興趣,你可以閱讀其 shell 指令碼原始檔(/sbin/wondershaper)。
在本教程中,我介紹了兩種不同的方法,來達到如何在 linux 桌面環境中,控制每個應用或每個介面的頻寬使用的目的。 這些工具的使用都很簡單,都為使用者提供了乙個快速且容易的方式來調整或限制流量。 對於那些想更多地了解如何在 linux 中進行速率控制的讀者,請參考 the linux bible.
Linux Linux限制網路頻寬的占用
限制網路流量速率的一種方法是通過乙個名為trickle的命令列工具。通過在程式執行時,預先載入乙個速率限制 socket 庫 的方法,trickle 命令允許你改變任意乙個特定程式的流量。trickle 命令有乙個很好的特性是它僅在使用者空間中執行,這意味著,你不必需要 root 許可權就可以限制乙...
linux 網路頻寬和延時測試
linux下使用qperf命令來測試網路頻寬和網路延遲 參考文章 若是沒有安裝qperf命令,請使用yum 安裝該命令即可.測試步驟 找兩個機器,乙個作為qperf的伺服器端,伺服器ip位址是192.168.80.50 如下 root localhost qperf 系統會一直停在這個地方.另外乙個...
限制Xen客戶作業系統domU的網路頻寬
限制xen客戶作業系統domu的網路頻寬 在xen中domu配置檔案中,可以通過修改vif選項達到dumu頻寬的限制。注意 僅僅限制流出網絡卡的流量頻寬。涉及的引數有 www.2cto.com rate rate引數是vif選項的乙個屬性,用於限制虛擬機器網路的頻寬 time window time...