如何在 mininet 中使用 setCPUFrac?

How to use setCPUFrac in mininet?

我正在使用 Mininet 来模拟具有 sudo mn 的简单网络,它创建了一个双主机网络。现在我想为每个主机分配一个特定的 CPU 速率。 我知道使用 setCPUFrac 可以做到这一点,但我无法成功使用它。

如何从命令行使用该功能?我试过类似的东西:

h1 setCPUFrac( f=-1,sched=None)
h1 setCPUFrac(f="1")
h1 setCPUFrac(f=1)
setCPUFrac(h1, f=-1,sched=None)

全部给了我:

bash: syntax error near unexpected token

注意:我是 Mininet 的新手。

您 运行 执行的命令 setCPUFrac( f=-1,sched=None) on h1,这就是你出现 bash 错误的原因。

你需要确定host Type是CPULimitedHost否则它没有方法setCPUFrac

mn 命令行,您可以 运行 使用有限主机的网络 --host cfs,sched=None 然后使用 py 命令在 mn 命令行中完成这个技巧。

root@raspberrypi:~# mn  --host cfs,sched=None
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2
*** Adding switches:
s1
*** Adding links:
(h1, s1) (h2, s1)
*** Configuring hosts
h1 h2
*** Starting controller
c0
*** Starting 1 switches
s1 ...
*** Starting CLI:
mininet> py net.getNodeByName("h1").setCPUFrac( f=-1,sched=None)
mininet>

或者您可以在 mininet API

之后构建一个 python 脚本