如何解决在Linux中以编程方式测量带宽的正确方法
我需要以编程方式找到系统的当前带宽。
我在这里正确吗?
double f1,f2,dif,bandwidth;
std::string bw1,bw2,sshObj->exec_ssh_command("rm file1");
sshObj->exec_ssh_command("rm file2");
auto start = std::chrono::system_clock::now();
sshObj->exec_ssh_command("cat /proc/net/dev >> file1");
sshObj->exec_ssh_command("cat /proc/net/dev >> file2");
auto end = std::chrono::system_clock::now();
std::chrono::duration<double> elapsed_seconds = end - start;
nic_recv_bw_1 = "cat file1 | grep ens160 | awk '{print $2}'";
nic_recv_bw_1 = "cat file2 | grep ens169| awk '{print $2}'";
bw1 = sshObj->exec_ssh_channel_command(nic_recv_bw_1);
bw2 = sshObj->exec_ssh_channel_command(nic_recv_bw_2);
f1 = std::stod(bw1);
f2 = std::stod(bw2);
dif = f2 - f1;
bandwidth = dif / elapsed_seconds;
exec_ssh_channel_command
是通过ssh会话执行命令并以字符串形式输出的函数。
我的问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。