One of the smart guys here suggested a modification to suricata's source code that will allow it to grab the number of processors from an environment variable instead of from the system.  This would obviously not be something that the wider community would use, but I'd like to try it.<div>
<br></div><div>Basically the suggestion is to change:</div><div><br></div><div><font class="Apple-style-span" face="'courier new', monospace">nprocs = sysconf(_SC_NPROCESSORS_ONLN);</font></div><div><br></div><div>
to: </div><div><br></div><div><span class="Apple-style-span" style="font-size: 15px; "><font class="Apple-style-span" face="'courier new', monospace">nprocs = atoi( getenv("NPROCS") );</font></span></div>
<div><br>Then add an environment variable that is created every time I specify the number of processors when creating the job:</div><div><br></div><div><span class="Apple-style-span" style="font-size: 15px; "><font class="Apple-style-span" face="'courier new', monospace">export NPROCS=$(cat $PBS_NODEFILE|wc –l)</font></span></div>
<div><br></div><div>This will ensure that Suricata runs with the specified number of processors, and not what it sees from the system (which will be more than have been allocated by the job controls.  Any thoughts on that idea?</div>
<div><br></div><div>My problem is that I don't know where or how to make that one line change to the Suricata source code.  Any hints on how to proceed?</div><div><br></div><div>Gene</div><div><br><br><div class="gmail_quote">
On Fri, Aug 26, 2011 at 12:52 AM, Victor Julien <span dir="ltr"><<a href="mailto:victor@inliniac.net">victor@inliniac.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On 08/25/2011 08:12 PM, Gene Albin wrote:<br>
> Does anyone know how Suricata determines the number of CPU's available on<br>
> the machine?  I'm asking because I need to know how to tell Suricata how<br>
> many to use when submitting jobs on this research computer.  /proc/cpuinfo<br>
> always returns the total number of physical CPU's, and in my case I want to<br>
> test performance on a subset of the maximum (48).<br>
<br>
> What environment variable, or other parameter, do I need to pass to Suricata<br>
> in order to specify the number of CPUs available.<br>
<br>
</div>It seems we get it from the system using:<br>
<br>
nprocs = sysconf(_SC_NPROCESSORS_ONLN);<br>
<br>
This can't be controlled in Suricata. Maybe it can in the system, but I<br>
wouldn't know how. If you figure it out, please let us know.<br>
<div class="im"><br>
Cheers,<br>
Victor<br>
<br>
--<br>
---------------------------------------------<br>
Victor Julien<br>
<a href="http://www.inliniac.net/" target="_blank">http://www.inliniac.net/</a><br>
PGP: <a href="http://www.inliniac.net/victorjulien.asc" target="_blank">http://www.inliniac.net/victorjulien.asc</a><br>
---------------------------------------------<br>
<br>
</div><div><div></div><div class="h5">_______________________________________________<br>
Oisf-users mailing list<br>
<a href="mailto:Oisf-users@openinfosecfoundation.org">Oisf-users@openinfosecfoundation.org</a><br>
<a href="http://lists.openinfosecfoundation.org/mailman/listinfo/oisf-users" target="_blank">http://lists.openinfosecfoundation.org/mailman/listinfo/oisf-users</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Gene Albin<br><a href="mailto:gene.albin@gmail.com" target="_blank">gene.albin@gmail.com</a><br><br>
</div>