You are on page 1of 8

How To Run /SDF/MON To Collect Snap-Shots

This to be very handy when we have a situation where we require troubleshooting in terms of
performance as you can see exactly what was running when, how much memory/cpu utilization etc.
To start the collection, run transaction /n/SDF/MON or go to SA38 and execute job /SDF/MON.
Click on SCHEDULE NEW MONITORING

Fill in the desired parameters like the duration of the analysis and the interval for the snapshot and
execute

Once this is done go back to /SDF/MON and click on EXECUTE


Double click on the line to access the MONITORING DATA page.

On this page you can double click on the DIA/CPU/FREE MEM etc. to get and overview of what
was running on the system at that exact time.

How to use /sdf/mon to review single


SAP job running history
Using this feature, you can display all historical SM50 snapshots for a single SAP user, a SAP job or
a process during performance issue trouble-shooting. Take a business background job for example,
the steps to review SM50 historical snapshots for a particular job is:
Use SM37 to find where, who, when information.
Run /SDF/MON and display expected snapshots analyses entries.
1. Display monitoring data for specific analyses entry.
2. Filter monitor data further if possible.
3. Display all work process snapshots related to specific job using restricted WP list
feature.
1 Step Details:
The case: Job started on Mar 8 2013 was still running when it was checked On Mar 12 2013 (figure
1). Assume that I would like to know what the job was doing on Mar 9 2013. How can we quickly
pull out all work processes snapshots only for the specific job?

Figure 1 SM37 job display

1.1 Get where, who and when information


Via SAP SM37 job monitor (see figure 1), I found following information about the job:
executing server (where ), Job name ( who ) and when information (pair of start date and time
and pair of end date and time). In this particular case, the job had been running when it was
reviewed. The job name is ZFXXIO_Analysis_normal.

1.2 Run /SDF/MON to display snapshots analyses entries


I run SAP transaction /SDF/MON and specify what analyses entries should be displayed based on
date and user etc. My result screen is showed in figure 2.

Figure 2 /SDF/MON monitoring entries

From Figure 2, you know that SM50 snapshots were collected at the interval of 60 seconds.
1.3 Display /SDF/MON monitoring data for the specific entry
Assume that I would like to know historical work process information for the job on Mar 11
(highlighted in figure 2) , double click it, I had following screen

Figure 3. /SDF/MON monitoring data

1.4 Filter monitor data further if possible


Each row in figure 3 includes snapshots (CPU, memory, work process etc) taken for a specific
instance/server at a predefined interval. Since snapshots were taken every minutes, and there are
many servers/instances in our system. For one day, there are a lot of snapshots. Anyway, we are
interested in work process snapshots for one particular job which was running on a particular server.
As an example, I reduced the data based on server, time and display snapshot every 30 snapshot
(half hour). Following is my input to reduce monitor data used for analysis.

Figure 4 Reduce /SDF/MON monitoring data

I clicked execution button after my input, data set is reduced. Please refer to Figure 5.

Figure 5 reduced /SDF/MON monitoring snapshots data set.

You can see snapshot is showed every half hour and only for specific servers in Figure 5.

1.5 Display all work process snapshots related to specific job using restricted WP list feature
First I clicked the button

to select all entries, see Figure-5 to know where the button is. Selected

entries would be highlighted.


Second, I clicked the Icon

to restrict snapshots for specific job. A window showed up for me to

enter restriction criteria. Here I enter the job name ZFXXIO_ANALYSIS_NORMAL. Please refer
to Figure -6.

Figure 6 /SDF/MON work process restrict option

Then I clicked the execution after my input, I got SAP work process overview screen which contains
work process for the specific job. Please refer to screen 7.

Figure 7 /SDF/MON single jobs historical work process overview for every half hour w/I 10 hours

Based on Figure 7, you can know that the job seems stuck at reading table COAS based on workflow
status took every half hour during a 10-hours window. How about every 5 minutes for one hour?
Following the same fashion, I got following work process overview data:

Figure 8 /SDF/MON Single jobs historical work process overview for every five minutes in one hour

So based on Figure 7 and 8, we know that the job are spending time on reading COAS (view) and
corresponding SQL is very expensive and the root-cause of slowness for the running period so far.
Analysis SQL access path is not focus of this post. However, I found the execution plan for the above

SQL ( See Figure 9). It is using AUFK~E index to access AUFK table, but none of SQL fields in the
where-clause matches the index that is the issue.

Figure 8 AUFK Table access path

Here, I demonstrated how to use job name to find and display all SM50 snapshots for a single job in
click. You can use UserID , process id and process types etc. ( see figure 6) to restrict the work
process display as well. You can display SM50 snapshots for several jobs as well, so on.
2 Summary
UP to now, you should know how to display all snapshots of work process overview for specific
jobs, processes and users in one screen. This would help you to verify where time is spent by a
process during trouble-shooting. I have several postings on /SDF/MON in this website, you can
search them via key word /SDF/MON.

You might also like