When you invoke sp_sysmon, it clears all accumulated data from a set of counters that will be used during the sample interval to accumulate the results of user and system activity. At the end of the sample interval, the procedure reads the values in the counters, prints the report, and stops executing.
sp_sysmon contributes 5 to 7% overhead while it runs on a single CPU server, and more on multiprocessor servers. The amount of overhead increases with the number of CPUs.
WARNING! sp_sysmon and Adaptive Server Monitor use the same internal counters. sp_sysmon resets these counters to 0, producing erroneous output for Adaptive Server Monitor when it is used simultaneously with sp_sysmon.
Also, starting a second execution of sp_sysmon while an earlier execution is running clears all the counters, so the first iteration of reports will be inaccurate.
Our performance tuning tips are based on the sampling interval. You need to review any recommendations thoroughly, based on your system requirements, before you incorporate them in your production system. You should set up a test area with your data and test any changes before implementing.
Also since sp_sysmon only gets a snapshot view of the system, these recommendations might not be applicable when the workload changes.