Difference between revisions of "Template:FAQ:Compiling 07"
(Mention that 5.7+ allows compiling without any mib modules at all.) |
(added info about features and read-only) |
||
(One intermediate revision by one other user not shown) | |||
Line 14: | Line 14: | ||
'--enable-mini-agent' '--with-out-mib-modules=examples/ucdDemoPublic' | '--enable-mini-agent' '--with-out-mib-modules=examples/ucdDemoPublic' | ||
This creates an agent with just the essential MIB modules included. | This creates an agent with just the essential MIB modules included. | ||
− | + | With the release of Net-SNMP 5.7 (currently in development), you will be able to use | |
'--with-out-mib-modules=default_modules' | '--with-out-mib-modules=default_modules' | ||
to reduce the size a little further. | to reduce the size a little further. | ||
Line 49: | Line 49: | ||
Once the agent (snmpd) has been linked, you might also try running | Once the agent (snmpd) has been linked, you might also try running | ||
<CODE>'strip snmpd'</CODE> to remove un-necessary debug/symbol information. | <CODE>'strip snmpd'</CODE> to remove un-necessary debug/symbol information. | ||
+ | |||
+ | === Code Reduction Features in Version 5.7 === | ||
+ | |||
+ | Net-SNMP version 5.7 adds some additional features for removing unneeded code. You can enable these features by using: | ||
+ | |||
+ | '--enable-minimialist' | ||
+ | This removes any unneeded code from the compiled instance. See the [[Feature Marking and Selection]] page for details on this feature. | ||
+ | |||
+ | '--enable-read-only' | ||
+ | This turns of SNMP SET support for the entire package if you don't need to support an agent that allows configuration directives to be sent to it. |
Latest revision as of 19:04, 21 March 2011
In order to reduce the memory footprint (for instance, to embed the snmpd into a device), the following configure options could be used.
'--disable-debugging'
This turns off the compilation of all debugging statements.
'--enable-mini-agent' '--with-out-mib-modules=examples/ucdDemoPublic'
This creates an agent with just the essential MIB modules included. With the release of Net-SNMP 5.7 (currently in development), you will be able to use
'--with-out-mib-modules=default_modules'
to reduce the size a little further.
NOTE: If you need additional MIB modules, then simply add them
using the option '--with-mib-modules=...'
but this will of course
increase the memory footprint.
'--with-transports=UDP'
This option specifies the transport domains to include.
For a simple standalone agent, just UDP should be sufficient.
(Although the 'disman'
and 'agentx'
modules may require the
Callback, TCP and/or Unix transport domains as well).
'--without-kmem-usage'
This can be used in order to omit the code that operates on the /dev/kmem interface. Clearly, this option cannot be used when one of the configured MIB modules depends on it.
'--with-mibdirs=' and '--with-mibs='
These options tell the agent not to load any MIB modules. This doesn't affect the size of libraries or application binaries, but will reduce the memory footprint during runtime.
'--disable-mib-loading'
This can be used in order to omit the code that loads and parses the MIB files altogether. This will reduce both the runtime memory footprint, and the binary sizes.
'--without-opaque-special-types'
This disables an extension (double, float and signed 64-bit types) to the snmp protocol that isn't strictly necessary. This option disables the extension and all the code that operate on it.
Once the agent (snmpd) has been linked, you might also try running
'strip snmpd'
to remove un-necessary debug/symbol information.
Code Reduction Features in Version 5.7
Net-SNMP version 5.7 adds some additional features for removing unneeded code. You can enable these features by using:
'--enable-minimialist'
This removes any unneeded code from the compiled instance. See the Feature Marking and Selection page for details on this feature.
'--enable-read-only'
This turns of SNMP SET support for the entire package if you don't need to support an agent that allows configuration directives to be sent to it.