It has often been noticed on IOS that many time due to various reason we have to either disable entire SNMP ENGINE in IOS or warm restart it without restarting entire device or affecting any other services/processes.
Mostly disabling SNMP ENGINE is a recommended action when we see %SNMP-3-INPUT_QFULL_ERR and warmstart is recommended when SNMP is not at all responding, even though we see SNMP input packets count incrementing, but no response on queries.
Procedure:
It is a very simple procedure with almost no negative impact on device, except following:
> The device will not be able to process snmp related query till the time SNMP ENGINE/Agent is down or disabled.
> If any NMS tool/application is monitoring this device may show this device down during this period.
Procedure To Disable SNMP ENGINE:
It is very simple procedure with just one one command. To disable Simple Network Management Protocol (SNMP) agent operation, we use the following global configuration command:
no snmp-server
This command disables all running versions of SNMP (SNMPv1, SNMPv2C, and SNMPv3) on the device. See example below:

Procedure To warm restart SNMP ENGINE:
Warm restart of SNMP ENGINE process is required in many situations like when SNMP is not responding on a device. It is a procedure continued from disabling SNMP ENGINE to ENABLE it again.
When we disable SNMP ENGINE we can enable it by configuring any snmp related command in global configuration mode. during the time when
SNMP ENGINE is disabled, all the conifguration and snmp counters are inaccessible, but not completely wiped from the device database.
Following is the screenshots for example:
SNMP Configuration verification:

Disabling SNMP and verifying:

Enabling SNMP and Verifying (By entering any random previously configured command) :

Note:
- Please note that SNMP Wam Start does not resets any counters, but will reset snmpEngineTime.
- It will send SNMP warmStart notifications to NMS application/Trap Receiver if respective snmp warmstart and host is configured.