<div dir="ltr"><div>If I don't specify the interface in the af-packet section, then the engine seems to utilize a single af-packet by default. <br><br><br></div><div>Multiple receive threads will not work well with multiple detect threads in autofp mode. This seems to be because the data that a detect thread needs may be residing closer to a different core, hence forcing memory copying.<br>
<br></div><div>Doing the same test, with multiple receive and detect threads, in workers mode has solved the problem. <br><br><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Aug 21, 2013 at 9:38 PM, Theodore Elhourani <span dir="ltr"><<a href="mailto:theodore.elhourani@gmail.com" target="_blank">theodore.elhourani@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I am running suricata on 4 cores with 8GB RAM.<br>
When I start the engine with this:<br>
suricata --af-packet=eth3 -c /etc/suricata/suricata.yaml --pidfile /var/run/suricata.pid -D<br>
<br>
<br>
(I)<br>
Without specifying the interface (eth3) in the at-packet section of the config file, I get a single RxAFP thread. CPU utilization for all 4 cores remains below 60%.<br>
<br>
(II)<br>
Once I set eth3 in the afpacket section:<br>
# af-packet support<br>
# Set threads to > 1 to use PACKET_FANOUT support<br>
af-packet:<br>
  - interface: eth3  ## none<br>
    # Number of receive threads (>1 will enable experimental flow pinned<br>
    # runmode)<br>
    threads: 1<br>
I notice that one of the cores is always above 90% utilization with mainly kernel threads causing this utilization.<br>
<br>
(III)<br>
If repeat this latter test with "threads: 4" in the af-packet section, I get a high utilization on all 4 cores (>90%) and mainly occupied by kernel threads.<br>
<br>
<br>
<br>
<br>
The traffic loads are identical in all tests, and runmode is autofp. Can someone please explain this behavior ?<br>
<br>
Thanks<br>
<br>
</blockquote></div><br></div>