成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux-細說Linux的網絡篇

系統 Linux
判斷帶寬,服務器的帶寬說簡單也簡單,說難確實也很難,在無配置的情況下可以使用curl和wget請求一個外部文件以此可以判斷(反向判斷)或者在線個網站測速。而網上很多都會說用iperf測試,但是需要你手上有一臺外網的服務器。

 [[256979]]

再說linux網絡前先需要確認設備的一些信息,比如網卡類型,網卡的速度等等。在linux可以通過網卡的設備名稱區分網卡的類型,例如:

  1. ## 查看網卡的型號 
  2.  # lspci | grep -i ethernet 
  3.  00:03.0 Ethernet controller: Red Hat, Inc Virtio network device 
  4.   
  5.  ## 查看網卡的具體信息 注意Speed字段的值為網卡支支持的速度 
  6.  # ethtool eth0 
  7.  Settings for eth0: 
  8.         Supported ports: [ TP ] 
  9.         Supported link modes:   10baseT/Half 10baseT/Full  
  10.                                 100baseT/Half 100baseT/Full  
  11.                                 1000baseT/Full  
  12.         Supports auto-negotiation: Yes 
  13.         Advertised link modes:  10baseT/Half 10baseT/Full  
  14.                                 100baseT/Half 100baseT/Full  
  15.                                 1000baseT/Full  
  16.         Advertised auto-negotiation: Yes 
  17.         Speed: 1000Mb/s 
  18.         Duplex: Full 
  19.         Port: Twisted Pair 
  20.         PHYAD: 1 
  21.         Transceiver: internal 
  22.         Auto-negotiation: on 
  23.         Supports Wake-on: pumbag 
  24.         Wake-on: g 
  25.         Current message level: 0x00000001 (1) 
  26.         Link detected: yes 

判斷帶寬,服務器的帶寬說簡單也簡單,說難確實也很難,在無配置的情況下可以使用curl和wget請求一個外部文件以此可以判斷(反向判斷)或者在線個網站測速。而網上很多都會說用iperf測試,但是需要你手上有一臺外網的服務器。

網絡配置

在不同的Linux發型版中網絡配置可能有所差別,但其本質都是一致的,在Ubuntu下/etc/network/interfaces以及在/etc/network/options中配置網絡信息。而在RedHat系列中則在/etc/sysconfig/network-scripts/ifcfg-ifname配置。無論在哪里配置都可以使用ifconfig命令查看這些網絡配置,下面是ifconfig命的常用參數和實例。

  1. usage : ifconfig [網絡設備] [參數] 
  2.  descript :ifconfig命令用來查看和配置網絡設備,當網絡環境發生改變時可通過此命令對網絡進行相應的配置。 
  3.       用ifconfig命令配置的網卡信息,在網卡重啟后機器重啟后,配置就不存在。要想將上述的配置信息永遠的 
  4.       存在電腦里,那就要修改網卡的配置文件了。 
  5.  param: 
  6.      - up        啟動指定網絡設備/網卡。 
  7.      - down      關閉指定網絡設備/網卡。該參數可以有效地阻止通過指定接口的IP信息流, 
  8.      -a       無論是否激活,顯示所有配置的網絡接口。 
  9.      -add          給指定網卡配置IPv6地址 
  10.     -del          刪除指定網卡的IPv6地址 
  11.     -arp|-arp        打開或關閉支持ARP協議 
  12.     -mtu<字節數>      設置網卡的最大傳輸單元 
  13.     -netmask<子網掩碼> 設置網卡的子網掩碼 
  14.  example: 
  15.      查看網絡信息 
  16.      #ifconfig 
  17.      打開和關閉指定網卡 
  18.      # ifconfig eno16777736 down 
  19.      啟用和關閉ARP 
  20.      # ifconfig eno16777736 arp 
  21.      # ifconfig eno16777736 -arp  
  22.     設置網卡的mac地址 
  23.     # ifconfig eno16777736 hw ether 00:0c:29:4d:a3:dd 

網絡可用性測試

網絡可用性測試其實很簡單,簡單的說就是能上網即可。linux中提供了ping、route、traceroute、nslookup、netstat、dig、幾個命令即可完整的測試網絡的可用性。當然有mrt這樣的組合工具,但是其不是所有主機上都有。

Ping

它通過向目標主機發送一個個數據包以及接受數據包的回應來判斷主機和目標主機之間網絡連接情況。ping的兩個功能:判斷網絡是否可達、網絡性能統計。

  1. usage: ping 【選項】 目標主機或IP地址 
  2. descript: ping使用的是網絡層的ICMP協議。 
  3. params: 
  4.   -c設置數據包的數量 
  5.   -s設置數據包的大小,默認為64字節(包括8字節ICMP協議頭、56字節測試數據、20字節IP協議頭) 
  6.   -t設置數據包的生存期(TTL) 
  7.   -i設置數據包的間隔,默認為1s 
  8.   -R記錄路由過程 
  9.   -r忽略普通的路由表,直接將數據包發送到遠程主機上 
  10.   -v詳細顯示命令的執行過程 
  11.   -P設置填滿數據包的范本樣式 
  12.   -f極限檢測,以最小的間隔來測試 
  13.   -I設置指定的網絡接口發送數據包 
  14.  
  15. example 
  16.   # ping -c 2  www.baidu.com 
  17.   PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data. 
  18.   64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=55 time=1.97 ms 
  19.   64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=55 time=1.66 ms 
  20.   報文尺寸    目標設備主機名或IP           序號    生存期  往返時間 
  21.  
  22.   --- www.a.shifen.com ping statistics ---統計信息摘要 
  23.   2 packets transmitted, 2 received, 0% packet loss, time 1001ms 
  24.   發送包數          接受包數    丟包率      響應時間       
  25.   rtt min/avg/max/mdev = 1.666/1.821/1.977/0.161 ms 
  26.   應答計算最小值/平均值/最大值/ 

netstat

是network statistics的縮寫,主要用于檢測主機(本機)的網絡配置和狀況,用于查看與IP、TCP、UDP、ICMP協議相關的統計數據,可以查看顯示網絡連接(包括進站和出戰)、系統路由表、網絡接口狀態等。

網絡狀態:

從客戶端看其狀態變化為:CLOSED->SYN_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT->CLOSED

從服務端看其狀態變化為:CLOSED->LISTEN->SYN_RECVD->ESTABLISHED->CLOSE_WAIT->LAST_ACK->CLOSED

下面是個個狀態的描述:

  1. *ESTABLISHED 
  2.     The socket has an established connection
  3.     套接字有一個已建立的連接。 
  4. *SYN_SENT 
  5.     The socket is actively attempting to establish a connection.  
  6.     套接字正在積極地嘗試建立連接。 
  7. *SYN_RECV 
  8.     A connection request has been received from the network. 
  9.     已從網絡接收到連接請求。 
  10. *FIN_WAIT1 
  11.     The socket is closed, and the connection is shutting down. 
  12.     套接字關閉,連接關閉。 
  13. *FIN_WAIT2 
  14.     Connection is closed, and the socket is waiting for a shutdown from the remote end
  15.     連接關閉,而套接字正在等待遠程結束的關閉。 
  16. *TIME_WAIT 
  17.     The socket is waiting after close to handle packets still in the network. 
  18.     該套接字在接近處理網絡中的數據包后等待。 
  19. *CLOSED 
  20.     The socket is not being used. 
  21.     套接字沒有被使用。 
  22. *CLOSE_WAIT 
  23.      The remote end has shut down, waiting for the socket to close
  24.      遠端關閉,等待套接字關閉。 
  25. *LAST_ACK 
  26.     The remote end has shut down, and the socket is closed. Waiting for acknowledgement. 
  27.     遠端關閉,套接字關閉。等待確認。 
  28. *LISTEN 
  29.     The  socket is listening for incoming connections.  套接字是監聽傳入的連接。 
  30. *CLOSING 
  31.     Both sockets are shut down but we still don’t have all our data sent. 
  32.     兩個套接字都關閉了,但我們仍然沒有所有的數據發送。 
  33. *UNKNOWN 
  34.     The state of the socket is unknown. 
  35.     套接字的狀態未知。 
  1. useage: netstat 【選項】 
  2. descript:查看linux本機的狀況 
  3. param: 
  4.   -r——顯示當前主機路由表信息 
  5.   -a——顯示當前所有開放的端口(比默認還要多幾個) 
  6.   -t——顯示tcp傳輸協議的連接狀況,等加于netstat | grep tcp 但-t更快 
  7.   -u——顯示udp傳輸協議的連接狀況,等價于netstat | grep udp 
  8.   -i——顯示所有網絡接口的統計信息表 
  9.   -l——顯示正處于監聽狀態的服務和端口 
  10.   -p——顯示正在使用端口的服務進程號和服務程序名稱 
  11.   -c——持續列出網絡狀態,監控連接情況 
  12.   -n——以數字的形式顯示IP地址和端口號 
  13.   -e——顯示以太網的統計信息,此項可以與a組合使用 
  14. example  
  15.   $ netstat -atn 
  16.   Active Internet connections (servers and established) 
  17.   協議   收   送   本地地址          與本地連接的遠程主機地址  連接狀態 
  18.   Proto Recv-Q Send-Q Local Address           Foreign Address         State       
  19.   tcp        0      0 0.0.0.0:42081           0.0.0.0:*               LISTEN          
  20.   tcp        0      1 172.30.0.54:47570       74.125.204.102:443      SYN_SENT      
  21.   tcp        0      0 172.30.0.54:32840       165.254.134.121:80      ESTABLISHED 
  22.   tcp        0      1 172.30.0.54:47568       74.125.204.102:443      SYN_SENT    
  23.   tcp6       0      0 :::56937                :::*                    LISTEN        
  24.  
  25.   State——表示連接狀態, 
  26.           常見的狀態有listen(表示監聽狀態,等待接收入站的請求)、 
  27.           established(表示本機已經與其他主機建立好連接)、 
  28.           time_wait(等待足夠的時間以確保遠程TCP接收連接中斷請求的確認)、 
  29.           syn sent(嘗試發起連接)、 
  30.           syn recv(接受發起的連接)等 
  31.  
  32.   # 查看所有連接 
  33.   $ netstat -a 
  34.   # 查看所有tcp連接 
  35.   $ netstat -at 
  36.   # 查看所有udp連接 
  37.   $ netstat -au 
  38.   # 查看所有unixsocket連接 
  39.   $ netstat -ax 
  40.   # 同時列出進場信息 
  41.   $ netstat -ap 
  42.   # 查看服務器當前的網絡連接情況 
  43.   $ netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 
  44.   # 所有鏈接到本機的IP 
  45.   $ netstat -nut | awk '$NF=="ESTABLISHED" {print $5}' | cut -d: -f1 | sort -u 
  46.   # 查看網絡監聽 
  47.   $ netstat -ntlp 
  48.   $ netstat -nulp 
  49.   $ netstat -nxlp 
  50.   # 將會顯示使用該端口的應用程序的進程id 
  51.   $ netstat -nap | grep port  
  52.   # 將會顯示包括TCP和UDP的所有連接 
  53.   $ netstat -a  or netstat –all 
  54.   # 將會顯示TCP連接    
  55.   $ netstat --tcp  or netstat –t  
  56.   # 將會顯示UDP連接 
  57.   $ netstat --udp or netstat –u  
  58.   # 將會顯示該主機訂閱的所有多播網絡。 
  59.   $ netstat -g  
  60.   # 有些服務器上沒安裝telnet等命名跟沒有nmap,此時想看遠程端口是否開放? 
  61.   $ echo >/dev/tcp/8.8.8.8/53 && echo "open" 
  62.   # 用netstat顯示所有tcp4監聽端口 
  63.   $ netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*' 

route

該命令用來顯示并設置Linux內核中的網絡路由表,主要設置靜態路由。

  1. usage: route (選項) 參數 
  2. 選項: 
  3.     -A:設置地址類型; 
  4.     -C:打印將Linux核心的路由緩存; 
  5.     -v:詳細信息模式; 
  6.     -n:不執行DNS反向查找,直接顯示數字形式的IP地址; 
  7.     -e:netstat格式顯示路由表; 
  8.     -net:到一個網絡的路由表; 
  9.     -host:到一個主機的路由表。 
  10.  參數: 
  11.     Add:增加指定的路由記錄; 
  12.     Del:刪除指定的路由記錄; 
  13.     Target:目的網絡或目的主機; 
  14.     gw:設置默認網關; 
  15.     mss:設置TCP的最大區塊長度(MSS),單位MB; 
  16.     window:指定通過路由表的TCP連接的TCP窗口大小; 
  17.     dev:路由記錄所表示的網絡接口。 
  18.  實例: 
  19.      # 顯示當前路由 
  20.      $ route 
  21.      # 增加一條到達244.0.0.0的路由。 
  22.      $ route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 
  23.      # 刪除路由 
  24.      $ route del -net 224.0.0.0 netmask 240.0.0.0 
  25.      # 刪除網關 
  26.      $ route del default gw 192.168.120.240 

traceroute

命令用于追蹤數據包在網絡上的傳輸時的全部路徑,它默認發送的數據包大小是40字節。

  1. usage: traceroute(選項)(參數) 
  2. 選項: 
  3.   -d:使用Socket層級的排錯功能; 
  4.   -f<存活數值>:設置第一個檢測數據包的存活數值TTL的大小; 
  5.   -F:設置勿離斷位; 
  6.   -g<網關>:設置來源路由網關,最多可設置8個; 
  7.   -i<網絡界面>:使用指定的網絡界面送出數據包; 
  8.   -I:使用ICMP回應取代UDP資料信息; 
  9.   -m<存活數值>:設置檢測數據包的最大存活數值TTL的大小; 
  10.   -n:直接使用IP地址而非主機名稱; 
  11.   -p<通信端口>:設置UDP傳輸協議的通信端口; 
  12.   -r:忽略普通的Routing Table,直接將數據包送到遠端主機上。 
  13.   -s<來源地址>:設置本地主機送出數據包的IP地址; 
  14.   -t<服務類型>:設置檢測數據包的TOS數值; 
  15.   -v:詳細顯示指令的執行過程; 
  16.   -w<超時秒數>:設置等待遠端主機回報的時間; 
  17.   -x:開啟或關閉數據包的正確性檢驗。 
  18.  實例: 
  19.      # 測試到google.com的路由 
  20.      $ traceroute www.google.com 
  21.      # 設置跳轉 
  22.      $ traceroute -m 10 www.google.com 
  23.      # 知道斷開 
  24.      $ traceroute -p 10086 www.google.com 
  25.      # 繞過正常的路由表,直接發送到網絡相連的主機 
  26.      $ traceroute -r www.google.com 
  27.      # 把對外發探測包的等待響應時間設置為3秒 
  28.      $ traceroute -w 3 www.google.com 

nslookup + dig

Linux中和dns有關的配置分別為:host文件,網卡知道的dns服務地址,resolv.conf指定的服務。在linux可以使用nslookup和dig來查詢域名解析的工具。

  1. usage: nslookup (選項) 參數 
  2. 選項:  
  3.     -sil:不顯示任何警告信息。 
  4. 實例: 
  5.     $ nslookup www.google.com 
  6.  
  7. usage: dig (選項) 參數 
  8. 選項: 
  9.   @<服務器地址>:指定進行域名解析的域名服務器; 
  10.   -b<ip地址>:當主機具有多個IP地址,指定使用本機的哪個IP地址向域名服務器發送域名查詢請求; 
  11.   -f<文件名稱>:指定dig以批處理的方式運行,指定的文件中保存著需要批處理查詢的DNS任務信息; 
  12.   -P:指定域名服務器所使用端口號; 
  13.   -t<類型>:指定要查詢的DNS數據類型; 
  14.   -x<IP地址>:執行逆向域名查詢; 
  15.   -4:使用IPv4; 
  16.   -6:使用IPv6; 
  17.   -h:顯示指令幫助信息。 
  18. 實例: 
  19.     # 查看域名 
  20.     $ dig www.google.com 
  21.     # 查看MX記錄 
  22.     $ dig www.google.com -t MX 
  23.     # 查看CNAME 
  24.     $ dig www.google.com -t CNAME 
  25.     # 指定dns,例如查詢8.8.8.8中的0opslab.com記錄 
  26.     $ dig +short @8.8.8.8 0opslab.com 
  27.     # 查看完整的解析信息 
  28.     $ dig +trace 0opslab.com 

網絡監控

網絡監控不論是開發還是運維都應實時掌握的一個數據,在平時開發中有云服務提供的監控界面,和統一部署的監控工具zabbix和nagios等服務。但是利用系統默認提供的命令查看和監控網絡也是必備技能。系統提供的常用工具有,tcpdump,dstat等。另外有一些比較好用的第三方監控軟件,iftop,iptraf,nload等。

監控總體帶寬使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload

監控總體帶寬使用(批量式輸出)――vnstat、ifstat、dstat和collectl

每個套接字連接的帶寬使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow

每個進程的帶寬使用――nethogs

tcpdump

說道網絡監控,在linux有款工具不得不說,它就是tcpdump,他是一款命令行下的sniffer工具,dump the traffic on a network,根據使用者的定義對網絡上的數據包進行截獲的包分析工具。 tcpdump可以將網絡中傳送的數據包的“頭”完全截獲下來提供分析。它支 持針對網絡層、協議、主機、網絡或端口的過濾,并提供and、or、not等邏輯語句來幫助你去掉無用的信息。

  1. usage :tcpdum (選項) 
  2. 選項: 
  3.   -a:嘗試將網絡和廣播地址轉換成名稱; 
  4.   -c<數據包數目>:收到指定的數據包數目后,就停止進行傾倒操作; 
  5.   -d:把編譯過的數據包編碼轉換成可閱讀的格式,并傾倒到標準輸出; 
  6.   -dd:把編譯過的數據包編碼轉換成C語言的格式,并傾倒到標準輸出; 
  7.   -ddd:把編譯過的數據包編碼轉換成十進制數字的格式,并傾倒到標準輸出; 
  8.   -e:在每列傾倒資料上顯示連接層級的文件頭; 
  9.   -f:用數字顯示網際網絡地址; 
  10.   -F<表達文件>:指定內含表達方式的文件; 
  11.   -i<網絡界面>:使用指定的網絡截面送出數據包; 
  12.   -l:使用標準輸出列的緩沖區; 
  13.   -n:不把主機的網絡地址轉換成名字; 
  14.   -N:不列出域名; 
  15.   -O:不將數據包編碼最佳化; 
  16.   -p:不讓網絡界面進入混雜模式; 
  17.   -q :快速輸出,僅列出少數的傳輸協議信息; 
  18.   -r<數據包文件>:從指定的文件讀取數據包數據; 
  19.   -s<數據包大小>:設置每個數據包的大小; 
  20.   -S:用絕對而非相對數值列出TCP關聯數; 
  21.   -t:在每列傾倒資料上不顯示時間戳記; 
  22.   -tt: 在每列傾倒資料上顯示未經格式化的時間戳記; 
  23.   -T<數據包類型>:強制將表達方式所指定的數據包轉譯成設置的數據包類型; 
  24.   -v:詳細顯示指令執行過程; 
  25.   -vv:更詳細顯示指令執行過程; 
  26.   -x:用十六進制字碼列出數據包資料; 
  27.   -w<數據包文件>:把數據包數據寫入指定的文件。 
  28. 實例: 
  29.     # 截取所有數據包 
  30.     $ tcpdump 
  31.     # 監視指定接口上的數據包 
  32.     $ tcpdump -i eth1 
  33.     # 打印所有進入或離開sundown的數據包 
  34.     $ tcpdump host sundown 
  35.     # 也可以指定ip,例如截獲所有210.27.48.1 的主機收到的和發出的所有的數據包 
  36.     $ tcpdump host 210.27.48.1  
  37.     # 打印所有hello 月hot或者與ace之間的通信包 
  38.     $ tcpdump host hello and \( hot or ace \) 
  39.     # 主機210.27.48.1 和主機210.27.48.2 或210.27.48.3的通信 
  40.     $ tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \) 
  41.     # 打印ace與任何其他主機之間通信的IP 數據包, 但不包括與helios之間的數據包. 
  42.     $ tcpdump ip host ace and not helios 
  43.     # 如果想要獲取主機210.27.48.1除了和主機210.27.48.2之外所有主機通信的ip包,使用命令: 
  44.     $ tcpdump ip host 210.27.48.1 and ! 210.27.48.2 
  45.     # 截獲主機hostname發送的所有數據 
  46.     $ tcpdump -i eth0 src host hostname 
  47.     # 監視所有送到主機hostname的數據包 
  48.     $ tcpdump -i eth0 dst host hostname 
  49.      # 如果想要獲取主機210.27.48.1接收或發出的telnet包,使用如下命令 
  50.     $ tcpdump tcp port 23 and host 210.27.48.1 
  51.     # 對本機的udp 123 端口進行監視 123 為ntp的服務端口 
  52.     $ tcpdump udp port 123  

dstat

dstat命令是一個用來替換vmstat、iostat、netstat、和ifstat這些工具的。是一個全能系統信息統計工具。dstat非常強大,可以實時的監控cpu、磁盤、網絡、IO、內存等使用情況,與sysstat相比,dstat擁有一個彩色的界面,在手動觀察性能狀況時,數據比較顯眼容易觀察;而且dstat支持即時刷新,譬如輸入dstat 3即每三秒收集一次,但最新的數據都會每秒刷新顯示。和sysstat相同的是,dstat也可以收集指定的性能資源,譬如dstat -c即顯示CPU的使用情況。

  1. usage: 
  2.     dstat [-afv] [options] [delay [count]] 
  3. params: 
  4.     # dstat --list 可以查看dstat能使用的所有參數 
  5.     -c,--cpu 統計CPU狀態,包括 user, system, idle, 等待磁盤IO,硬件中斷,軟件中斷等; 
  6.     -d, --disk 統計磁盤讀寫狀態 
  7.     -D total,sda 統計指定磁盤或匯總信息 
  8.     -l, --load 統計系統負載情況,包括1分鐘、5分鐘、15分鐘平均值 
  9.     -m, --mem 統計系統物理內存使用情況,包括used, buffers, cache, free 
  10.     -s, --swap 統計swap已使用和剩余量 
  11.     -n, --net 統計網絡使用情況,包括接收和發送數據 
  12.     -N eth1,total  統計eth1接口匯總流量 
  13.     -r, --io 統計I/O請求,包括讀寫請求 
  14.     -p, --proc 統計進程信息,包括runnable、uninterruptible、new 
  15.     -y, --sys 統計系統信息,包括中斷、上下文切換 
  16.     -t 顯示統計時時間,對分析歷史數據非常有用 
  17.     --fs 統計文件打開數和inodes數 
  18.     --nocolor 不顯示顏色 
  19.     --socket 顯示網絡統計數據 
  20.     --tcp 顯示常用的tcp統計 
  21.     --udp 監聽的UDP接口及其當前用量的一些動態數據 
  22. 另外dstat附帶了一些強大的插件,可以通用/usr/share/dstat查看。常用的有 
  23.     --dist-util 顯示某一時間磁盤的忙碌情況 
  24.     --freespace 顯示當前磁盤的使用率 
  25.     --proc-count 顯示正在運行的程序數量 
  26.     --top-bio 顯示塊I/O最大的進場 
  27.     --top-cpu 顯示CPU占用最大的進程 
  28.     --top-io 顯示正常I/O最大的進程 
  29.     --top-mem 顯示占用最多內存的進場 
  30.  
  31. example: 
  32. # dstat 
  33. //cpu-usgae 
  34. //usr 用戶進場消耗cpu的時間百分比 sys內核進程消耗的CPU時間百分比  
  35. //idl CPU處在空閑狀態時間百分比 
  36. //wai IO等待消耗的CPU時間百分比  
  37. //hiq 硬中斷 siq 軟中斷 
  38. ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- 
  39. usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 
  40.   0   0  99   0   0   0|7706B  164k|   0     0 |   0     0 | 189   225 
  41.   0   0 100   0   0   0|   0     0 |4436B  826B|   0     0 | 195   248 
  42.  
  43. # dstat --top-mem --top-io --top-cpu 
  44. --most-expensive- ----most-expensive---- -most-expensive- 
  45.   memory process |     i/o process      |  cpu process 
  46. systemd-jour23.0M|weixin        0     0 |barad_agent  0.0 
  47.  
  48. //查看系統負載 
  49. # dstat -l 
  50. //查看系統內存 
  51. # dstat -m 
  52. // 查看內存占用 
  53. # dstat -g -l -m -s --top-mem 
  54. // 輸出一個csv文件 
  55. # dstat --output /tmp/sampleoutput.csv -cdn 
  56. // 查看cpu、disk、net、page、system的信息 沒10秒更新一次 
  57. # dstat 10 
  58. //將監控信息保存的文件中 
  59. # dstat 10 --output /tmp/ds.csv 
  60. //監控swap,process,sockets,filesystem并顯示監控的時間 
  61. # dstat -tsp --socket --fs 
  62. // 監控當前最消耗IO的進程和最消耗塊設備IO的進程 
  63. # dstat -t --top-io-adv --top-bio-adv 
  64. // 監控當時最耗CPU/BLOCK IO/內存/IO的進程 
  65. # dstat --top-cpu --top-bio --top-mem --top-io 
  66. //查看全部內存都有誰在占用 
  67. # dstat -g -l -m -s --top-mem 
  68. //顯示一些關于CPU資源損耗的數據 
  69. #dstat -c -y -l --proc-count --top-cpu 

對于高速主機上利用iftop等基于libpacp庫的工具來說不能完美的工作,此時可以直接查看相應的系統文件記錄。利潤eth0網卡是的數據信息,可以直接查看對應的文件

  • /sys/class/net/eth0/statistics/rx_packets: 收到的數據包數據
  • /sys/class/net/eth0/statistics/tx_packets: 傳輸的數據包數量
  • /sys/class/net/eth0/statistics/rx_bytes: 接收的字節數
  • /sys/class/net/eth0/statistics/tx_bytes: 傳輸的字節數
  • /sys/class/net/eth0/statistics/rx_dropped: 當收到包數據包下降的數據量
  • /sys/class/net/eth0/statistics/tx_dropped: 傳輸包數據包下降的數據量

這些數據會根據內核數據發生變更的時候自動刷新。因此,你可以編寫一系列的腳本進行分析并計算流量統計。

責任編輯:武曉燕 來源: 浮游于星辰大海
相關推薦

2010-08-06 12:47:18

Linux NFS

2011-01-18 11:52:25

Linux語音識別

2010-12-22 13:19:43

Linux性能監測網絡

2020-03-31 10:18:57

網絡命令kalilinux

2010-03-10 09:27:36

Linux鏈接文件類型

2010-03-09 10:11:34

Linux掛載命令

2023-11-01 10:38:46

Linux高性能網絡編程

2013-04-02 11:21:52

Linux操作系統虛擬主機

2023-11-01 11:40:46

Linux高性能網絡編程工具

2020-12-01 07:08:23

Linux網絡I

2010-06-02 15:21:29

Linux 網絡性能

2010-06-02 15:45:45

Linux 網絡性能

2010-06-02 15:37:38

Linux 網絡性能

2021-01-15 05:15:09

Linux網絡配置

2011-03-29 14:44:42

zabbix安裝

2010-07-05 15:33:49

2009-03-26 17:23:57

LinuxWebLogic安裝調試

2019-03-18 11:15:07

Linux性能網絡

2012-02-29 01:03:10

ubuntuLinux

2018-10-10 09:23:30

服務器iptablesLinux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精华一区 | av无遮挡| 羞羞视频免费观看入口 | 国产午夜一级 | 日本久久久久久久久 | 喷水毛片 | 我想看国产一级毛片 | 午夜欧美 | 日韩精品在线网站 | 中文字幕日韩一区二区 | 色婷婷激情 | 色天堂影院 | 精品成人佐山爱一区二区 | 精品亚洲一区二区三区四区五区 | 国产激情精品一区二区三区 | 精品美女久久久 | 二区不卡 | 久久99精品久久久久婷婷 | 看a网站 | 亚洲精品在线视频 | 综合二区| 久久综合久久久 | 91在线看| 日本特黄a级高清免费大片 国产精品久久性 | 亚洲免费在线视频 | 日韩不卡三区 | 亚洲人成人一区二区在线观看 | 婷婷综合五月天 | 精品国产一二三区 | 国产欧美精品一区二区三区 | 亚洲综合天堂网 | 日韩欧美一区二区三区免费观看 | 丝袜 亚洲 欧美 日韩 综合 | 欧美一级在线观看 | 四虎永久免费地址 | 国产成人免费视频网站高清观看视频 | 日本视频中文字幕 | 91精品国产91久久久久游泳池 | 色天堂影院 | 国产精品视频一区二区三区, | 欧洲一区二区三区 |