Linux如何安裝和使用Trickle以便更好的進(jìn)行寬帶控制

在Linux系統(tǒng)中,如果在下載東西的話瀏覽網(wǎng)頁(yè)就會(huì)變得非???,這時(shí)就需要對(duì)下載網(wǎng)速進(jìn)行一定的限制,而Trickle就是一款很好的寬帶控制工具,下面小編就給大家介紹下Linux安裝使用Trickle的方法。
Trickle 是什么?
Trickle是一款帶寬控制供給,用來(lái)限制如Firefox, FTP , SSH以及其他使用網(wǎng)絡(luò)帶寬的程序的帶寬。你希望你的Youtube音樂(lè)體驗(yàn)影響到你的ftp下載么?如果不想,請(qǐng)繼續(xù)閱讀這篇文章,學(xué)習(xí)如何在你的機(jī)器上安裝和使用trickle。
怎樣在Linux上安裝Trickle
trickle工具有一些依賴包,安裝和使用trickle之前必須安裝“libevent 庫(kù)”,不過(guò)這個(gè)庫(kù)在大多數(shù)現(xiàn)在的Linux機(jī)器上已經(jīng)默認(rèn)安裝。
在 Debian/Ubuntu/Linux Mint 上
在Debian/Ubuntu/Mint 機(jī)器上運(yùn)行 apt-get install trickle進(jìn)行安裝。請(qǐng)確保源列表已經(jīng)更新,接著安裝你想要的應(yīng)用。
$ sudo apt-get update
$ sudo apt-get install trickle
在 RHEL/CentOS/Fedora 上
首先你需要更新系統(tǒng),然后使用下面的命令安裝trickle。
# yum update
# yum install trickle
Trickle如何工作?
Trickle通過(guò)控制socket數(shù)據(jù)讀寫(xiě)量來(lái)控制和限制應(yīng)用的上傳/下載速度。它使用另一個(gè)版本的BSD套接字API,但是區(qū)別是trickle還管理socket調(diào)用。
要注意的是trickle使用動(dòng)態(tài)鏈接和加載,所以它只對(duì)于使用“Glibc庫(kù)”的程序有用。由于trickle可以設(shè)置數(shù)據(jù)在socket上的傳輸延遲,所以它可以用來(lái)限制一個(gè)應(yīng)用的網(wǎng)絡(luò)帶寬。
Trickle不能做什么?
Trickle不能用于限制使用UDP協(xié)議的應(yīng)用的帶寬,它只可用于TCP連接,但是你要知道它也并不是對(duì)所有的TCP連接有效。如果你一直仔細(xì)地看這篇文章,你可以猜到原因是什么。你還記得trickle只對(duì)使用Glibc庫(kù)應(yīng)用有效吧?
還要說(shuō)一下,trickle無(wú)法工作在使用靜態(tài)鏈接的可執(zhí)行程序上。
確定Trickle是否可運(yùn)行在某個(gè)特定應(yīng)用上
既然trickle無(wú)法限制每個(gè)應(yīng)用的上傳/下載速度,就應(yīng)該有個(gè)方法找出trickle可以工作的應(yīng)用。
ldd工具可以幫我們找出某個(gè)特定的程序是否使用了libc.so庫(kù)。如果程序使用了這個(gè)庫(kù),就可以使用trickle來(lái)限制它的網(wǎng)絡(luò)帶寬使用。
ldd命令用于打印每個(gè)程序需要的共享庫(kù)。如果你是一個(gè)好奇的Linux Geek,那么你可以使用man命令來(lái)找出關(guān)于ldd工具的更多信息。
# man ldd
Filezilla是一款使用ftp協(xié)議傳輸文件的程序,trickle可以用來(lái)限制它的下載或者上傳速度么?在你考慮的時(shí)候,我使用以下的命令來(lái)找出trickle是否可用于filezilla。
# ldd filezilla | grep libc.so
就我而言,它輸出了如下:
oltjano@oltjano-X55CR:/usr/bin$ ldd filezilla | grep libc.so
libc.so.6 =》 /lib/i386-linux-gnu/libc.so.6 (0xb6bc4000)
既然filezilla使用了“libc.so”庫(kù),那么trickle可以用來(lái)限制它的網(wǎng)絡(luò)帶寬。這個(gè)方法可以用在任何你感興趣的程序上。
學(xué)習(xí)如何使用Trickle
使用下面的命令輸出trickle工具的版本。
root@oltjano-X55CR:~# trickle -V
trickle: version 1.07
Linux有很多命令行工具使測(cè)試(實(shí)驗(yàn))變得有趣和美麗。下面的命令使用wget 工具來(lái)下載最新的Pear OS鏡像。
root@oltjano-X55CR:~# wget http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download
--2013-11-20 11:56:32-- http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download
Resolving sourceforge.net (sourceforge.net)。。。 216.34.181.60
Connecting to sourceforge.net (sourceforge.net)|216.34.181.60|:80.。。 connected.
HTTP request sent, awaiting response.。。 302 Found
Location: http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384928843&use_mirror=kaz [following]
--2013-11-20 11:56:33-- http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384928843&use_mirror=kaz
Resolving downloads.sourceforge.net (downloads.sourceforge.net)。。。 216.34.181.59
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80.。。 connected.
HTTP request sent, awaiting response.。。 302 Found
Location: http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso [following]
--2013-11-20 11:56:33-- http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso
Resolving kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)。。。 88.204.157.163
Connecting to kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)|88.204.157.163|:80.。。 connected.
HTTP request sent, awaiting response.。。 200 OK
Length: 1093664768 (1.0G) [application/octet-stream]
Saving to: ‘download’
0% [ ] 30,78,278 381KB/s eta 1h 50m
從輸出可以看到,下載速度大約是381 KB/s。我想限制下載速度到13 K/s,這樣我就可以用我的帶寬做其他的事情了。下面的命令用來(lái)限制wget速度到13 K/s。
ravisaive@ravisaive-OptiPlex-380:~$ trickle -d 13 wget http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download
--2013-11-20 12:01:19-- http://sourceforge.net/projects/pearoslinux/files/Pear%20OS%208/pearos8-i386.iso/download
Resolving sourceforge.net (sourceforge.net)。。。 216.34.181.60
Connecting to sourceforge.net (sourceforge.net)|216.34.181.60|:80.。。 connected.
HTTP request sent, awaiting response.。。 302 Found
Location: http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384929129&use_mirror=kaz [following]
--2013-11-20 12:01:19-- http://downloads.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso?r=&ts=1384929129&use_mirror=kaz
Resolving downloads.sourceforge.net (downloads.sourceforge.net)。。。 216.34.181.59
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80.。。 connected.
HTTP request sent, awaiting response.。。 302 Found
Location: http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso [following]
--2013-11-20 12:01:20-- http://kaz.dl.sourceforge.net/project/pearoslinux/Pear%20OS%208/pearos8-i386.iso
Resolving kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)。。。 88.204.157.163
Connecting to kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)|88.204.157.163|:80.。。 connected.
HTTP request sent, awaiting response.。。 200 OK
Length: 1093664768 (1.0G) [application/octet-stream]
Saving to: ‘download.1’
0% [ ] 2,01,550 13.1KB/s eta 21h 5m
從輸出可以看到,下載速度被限制到了13K/s。下載將會(huì)持續(xù)21小時(shí)5分鐘。上面的“-d”選項(xiàng)表示下載,還可以結(jié)合使用 “-d”選項(xiàng)和上傳選項(xiàng)(-u),如下例所示。
# trickle -u 100 -d 50 ftp
上面的命令限制ftp 客戶端的上傳速度為100K/s,下載速度為50K/s。還可以使用下面的命令,限制在一個(gè)shell里運(yùn)行的所有命令的帶寬。
trickle -d 130 -u 13 bash
每個(gè)命令行工具都對(duì)用戶提供了幫助,使用“trickle -h”命令來(lái)找出更多trickle工具的用法。
root@oltjano-X55CR:/usr/bin# trickle -h
Usage: trickle [-hvVs] [-d 《rate》] [-u 《rate》] [-w 《length》] [-t 《seconds》]
?。?l 《length》] [-n 《path》] command 。。。
-h Help (this)
-v Increase verbosity level
-V Print trickle version
-s Run trickle in standalone mode independent of trickled
-d 《rate》 Set maximum cumulative download rate to 《rate》 KB/s
-u 《rate》 Set maximum cumulative upload rate to 《rate》 KB/s
-w 《length》 Set window length to 《length》 KB
-t 《seconds》 Set default smoothing time to 《seconds》 s
-l 《length》 Set default smoothing length to 《length》 KB
-n 《path》 Use trickled socket name 《path》
-L 《ms》 Set latency to 《ms》 milliseconds
-P 《path》 Preload the specified .so instead of the default one
總結(jié)
上面就是Linux安裝使用Trickle的方法介紹了,可以看出,通過(guò)Trickle限制下載上傳速度后,下載東西就不會(huì)影響你瀏覽網(wǎng)頁(yè)了,但Trickle不能限制使用UDP協(xié)議的寬帶。
相關(guān)文章
Fedora Linux 42 穩(wěn)定版發(fā)布: 帶來(lái)大量新功能和軟件更新
Fedora 42昨日發(fā)布,這是 Red Hat 贊助開(kāi)發(fā)的杰出前沿 Linux 發(fā)行版的最新版,包含大量新功能和軟件更新,使其成為 2025 年上半年發(fā)布的一款出色的 Linux 操作系統(tǒng)之一,內(nèi)2025-04-16如何在Linux查看硬盤(pán)信息? 查看Linux硬盤(pán)大小類型和硬件信息的5種方法
使用Linux系統(tǒng)的過(guò)程中,查看和了解硬盤(pán)信息是非常重要的工作,尤其是對(duì)于系統(tǒng)管理員而言,那么在Linux系統(tǒng)中如何查看硬盤(pán)信息?以下是具體內(nèi)容介紹2025-03-12如何在 Linux 中查看 CPU 詳細(xì)信息? 3招輕松查看CPU型號(hào)、核心數(shù)和溫度
在日常運(yùn)維工作中,獲取 CPU 信息是系統(tǒng)運(yùn)維管理員常見(jiàn)的工作內(nèi)容,無(wú)論是為了性能調(diào)優(yōu)、硬件升級(jí)還是僅僅滿足好奇心2025-03-11什么是 Arch Linux? 獨(dú)樹(shù)一幟的Arch Linux發(fā)行版分析
Arch Linux是為簡(jiǎn)化,優(yōu)化,現(xiàn)代化,實(shí)用主義,用戶中心和多功能性而創(chuàng)建Linux發(fā)行版,究竟是什么讓 Arch 與眾不同?下面我們就來(lái)簡(jiǎn)要解讀2025-02-19如何在Linux環(huán)境下制作 Win11裝機(jī)U盤(pán)?
一直用的linux辦公,想要將筆記本電腦從 Linux 系統(tǒng)切換回 Windows 11,我們可以制作一個(gè)win11裝機(jī)u盤(pán),詳細(xì)如下2025-02-17Rsnapshot怎么用? 基于Rsync的強(qiáng)大Linux備份工具使用指南
Rsnapshot 不僅可以備份本地文件,還能通過(guò) SSH 備份遠(yuǎn)程文件,接下來(lái)詳細(xì)介紹如何安裝、配置和使用 Rsnapshot,包括創(chuàng)建每小時(shí)、每天、每周和每月的本地備份,以及如何進(jìn)2025-02-06Linux Kernel 6.13發(fā)布:附更新內(nèi)容及新特性解讀
Linux 內(nèi)核 6.13 正式發(fā)布,新版本引入了惰性搶占支持,簡(jiǎn)化內(nèi)核搶占邏輯,通過(guò)減少與調(diào)度器相關(guān)的調(diào)用次數(shù),讓內(nèi)核在運(yùn)行時(shí)表現(xiàn)更優(yōu),從而提高效率2025-01-23五大特性引領(lǐng)創(chuàng)新! 深度操作系統(tǒng) deepin 25 Preview預(yù)覽版發(fā)布
今日,深度操作系統(tǒng)正式推出deepin 25 Preview版本,該版本集成了五大核心特性:磐石系統(tǒng)、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系統(tǒng)2025-01-18Linux Mint Xia 22.1重磅發(fā)布: 重要更新一覽
Beta 版 Linux Mint“Xia” 22.1 發(fā)布,新版本基于 Ubuntu 24.04,內(nèi)核版本為 Linux 6.8,這次更新帶來(lái)了諸多優(yōu)化和改進(jìn),進(jìn)一步鞏固了 Mint 在 Linux 桌面操作系統(tǒng)領(lǐng)域的2025-01-16LinuxMint怎么安裝? Linux Mint22下載安裝圖文教程
Linux Mint22發(fā)布以后,有很多新功能,很多朋友想要下載并安裝,該怎么操作呢?下面我們就來(lái)看看詳細(xì)安裝指南2025-01-16