Linux 带宽使用情况
发布时间:2020-12-17 04:09:34 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 # Script to display the transfer information of a given# interface. Relies on /proc/net/dev for byte totals.require 'fileutils'if ARGV.lengt
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 # Script to display the transfer information of a given # interface. Relies on /proc/net/dev for byte totals. require 'fileutils' if ARGV.length < 1 puts "Usage: #{$0} <interface>" exit -1 end found_iface = false iface = ARGV[0] net_info = File.new('/proc/net/dev','r') SI_STR = ['Bytes','KB','MB','GB'] # Convert transfer amounts from raw bytes to something more readable def humanize(transfer) si = 0 while transfer >= (2 ** 10) and si < SI_STR.length transfer /= (2 ** 10).to_f si += 1 end sprintf('%.2f %s',transfer,SI_STR[si]) end while line = net_info.gets # Find the proper interface line if line =~ /#{iface}/ found_iface = true # Remove the interface prefix (i.e. "eth0:") line.sub!(/^s*#{iface}:/,'') # Split the numbers into an array line = line.split(/s+/) # Extract the number of bytes rx'd and tx'd rx,tx = line[0].to_i,line[8].to_i total = humanize(rx + tx) rx = humanize(rx) tx = humanize(tx) puts "#{iface} transfer:" puts 'Recieved: ' + rx puts 'Transmitted: ' + tx puts 'Total: ' + total end end if not found_iface puts "Unable to find interface: #{iface}" exit -1 end ## 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读