Introduction
The Exact Capture application supports a number of configuration options in both short and long form. For example:
$ exact-capture -i exanic0:0 --log-report-int 10 ....
A quick start guide is available for getting started. The following table lists all commands available:
Short | Long | Default | Description |
---|---|---|---|
i | input | (required) | The ExaNIC interface(s) to capture on |
o | output | (required) | The destination directory and filename stub to output to. Filenames will be output in the following format /output/dir/base_xx.expcap. Where xx is a unique file index. For details on the expcap format please see the Exact Capture Output Format (expcap) section later in this document. |
c | cpus | (required) | The list of CPUs to assign threads to for management, listening and writing threads. This is specified in the the following format, m:ls,ls,ls:ws,ws,ws . Where m is the core number for management, and ls/ws are comma separated lists of listener and writer CPU core numbers. For example --cpus=5:2,3:7,6,1 would configure Exact Capture to run the management thread on CPU 5, with two NIC listener threads on on CPUs 2 and 3 respectively, and three (or more) disk writer threads on cores 1,6 & 7 respectively. Note: the number of listener CPUs must be exactly equal to the number of ExaNIC --interfaces in use. Furthermore listener threads cannot share CPUs with management or writer threads. If there are fewer writer threads than --outputs , writer threads will be reused. |
k | no-kernel | (flag) | Prevents packets from reaching the kernel, by disabling interrupt generation for packets arriving on the ports used by exact-capture. It is recommended to always enable this option, to ensure the best performance from exact-capture. |
s | snaplen | 2048B | In some cases it is not necessary / useful to capture the entire packet. Set the snap length to determine the maximum size of packet that can be captured. This value cannot be 0 or less. |
m | maxfile | 0 (unlimited) | High rate capture can produce very large file sizes. To reduce the file sizes, Exact Capture can cap the file size to a maximum, and will start a new file each time it is reached. A value of 0 or less puts no limit on the output file size. |
l | logfile | (none) | Exact capture can optionally write log messages to a log file specified. |
t | log-report-int | 1.0 | This sets the statistics calculation and logging interval in seconds. |
v | verbose | (flag) | Enabling verbose mode will produce 2 output log lines every log interval (see above). These log lines will include summary statistics of the performance of all listener threads and all writer threads. |
V | more-verbose | (flag) | Enabling more verbose mode will produce 1 output log line for every listener and writer thread. Each log line will include per-thread statistics counters/statistics. This can be combined with --verbose mode above. |
d | debug-logging | (flag) | Debug logging mode enables display of the full file path, process ID and thread ID in each output log line. This is useful to track where a given log message originated. |
T | no-log-ts | (flag) | By default, logs include a timestamp. This can make the output overly verbose. Use this flag to disable timestamps. |
w | no-warn-overflow | (flag) | Software overflows will produce a warning. This may be problematic if the system is underperforming and these happen often. The flag disables these warnings. |
S | no-spin | (flag) | By default Exact Capture outputs a progress “spinner” to the console. This flag disables it. |
n | no-promisc | (flag) | By default Exact Capture puts the NIC into promiscuous mode. This flag disables it. |
p | perf-test | (flag) | Exact Capture supports several performance testing modes. These can be used to give a sense of the best possible performance that you can expect from your system configuration. The modes are as follows:
|