tcpreplay 占用 CPU 100%

tcpreplay 占用 CPU 100%

我正在使用 tcpreplay 命令运行一个 1G 大小的 pcap 文件来检查是否存在恶意流量。尽管系统有足够的核心和 RAM,但命令大约需要 5 个多小时。

系统内存:16G 核心:8

 PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1538 root      20   0   11980   2576   1848 R 100.0  0.0 340:14.65 tcpreplay
 4235 root      20   0   41940   3844   3092 R   0.3  0.0   0:05.50 top
32459 root      20   0       0      0      0 I   0.3  0.0   0:00.69 kworker/6:1 

root@test-vm:~# pidof tcpreplay |xargs -I{} ps -p {} -o etime,cmd
    ELAPSED CMD
   05:36:45 /usr/local/bin/tcpreplay -q -p 100 --cachefile=cachefile3 --intf1=ens225 --intf2=ens193 out3.pcap

我可以提供 1000 pps。增加 pps 有时不会产生正确的结果。所以我喜欢坚持使用 100pps。

有什么方法可以减少执行时间吗?我们可以让 tcpreplay 在多核中运行吗?

答案1

你运行的是哪个版本的 Tcpreplay?版本 4.3.1 修复了--pps选项,确保所选费率适用于各种值。除非您可以使用--mbps根据数据速率控制速度的选项。该选项在 4.0 及更高版本中运行可靠。

我建议尝试Tcpreplay 最新版本

相关内容