System monitoring is a daily routine activity and this document provides a systematic step by
step procedure for Server Monitoring. It gives an overview of technical aspects and concepts for
proactive system monitoring. Few of them are:
Checking Application Servers.
Monitoring System-wide Work Processes.
Monitoring Work Processes for Individual Instances.
Monitoring Lock Entries.
CPU Utilization
Available Space in Database.
Monitoring Update Processes.
Monitoring System Log.
Buffer Statistics
Some others are:
Monitoring Batch Jobs
Spool Request Monitoring.
Number of Print Requests
ABAP Dump Analysis.
Database Performance Monitor.
Database Check.
Monitoring Application Users.
Transactions to monitor a SAP System.
Checking Application Servers (SM51)
This transaction is used to check all active application servers.
Here you can see which services or work processes are configured in each instance.
Monitoring Work Processes for Individual Instances SM50:
Displays all running, waiting, stopped and PRIV processes related to a particular instance. Under
this step we check all the processes; the process status should always be waiting or running. If
any process is having a status other than waiting or running we need to check that particular
process and report accordingly.
This transaction displays a lot of information like:
1. Status of Work process (whether it’s occupied or not)
2. If the work process is running, you may be able to see the action taken by it in the Action
column.
3. You can which table is being worked upon
Some of the typical problems:
The user takes a long time to log on/not able to logon/online transaction very slow. This could
be the result of the DIA work processes are fully utilized. There could be also the result of long
running jobs (red indicator under the Time column). If necessary you can cancel the session by
selecting the jobs then go to Process>Cancel Without core. This will cancel the job and release
the work process for other user/process
Some users may have PRIV status under Reason column. This could be that the user transaction
is so big that it requires more memory. When this happen the DIA work process will be ‘owned’
by the user and will not let other users use. If this happens, check with the user and if possible
run the job as a background job.
If there is a long print job on SPO work process, investigate the problem. It could be a problem
related to the print server or printer.
Monitoring System-wide Work Processes (SM66)
By checking the work process load using the global work process overview, we can quickly
investigate the potential cause of a system performance problem.
Monitor the work process load on all active instances across the system
Using the Global Work Process Overview screen, we can see at a glance:
The status of each application server
The reason why it is not running
Whether it has been restarted
The CPU and request run time
The user who has logged on and the client that they logged on to
The report that is running
Monitor Application User (AL08 and SM04)
This transaction displays all the users of active instances.
Monitoring Update Processes (SM13)
Execute Transaction SM13 and put ‘*‘ in the field USER and click on button.
If there are no long pending updates records or no updates are going on then this queue will be
empty as shown in the below screen shot.
But, if the Update is not active then find the below information:
Is the update active, if not, was it deactivated by the system or by a user?
Click on button and get the information.
Click on button and get the below information:
Is any update cancelled?
Is there a long queue of pending updates older than 10 minutes?
Monitoring Lock Entries (SM12)
Execute Transaction SM12 and put ‘*’ in the field User Name
SAP provides a locking mechanism to prevent other users from changing the record that you are
working on. In some situations, locks are not released. This could happen if the users are cut off
i.e. due to network problem before they are able to release the lock.
These old locks need to be cleared or it could prevent access or changes to the records.
We can use lock statistics to monitor the locks that are set in the system. We record only those
lock entries which are having date time stamp of the previous day.
Monitoring System Log (SM21)
We can use the log to pinpoint and rectify errors occurring in the system and its environment.
We check the log for the previous day with the following selection/option:
Enter Date and time.
Select Radio Button Problems and Warnings
Press Reread System Log.
Tune Summary (ST02)
Step 1: Go to ST02 to check the Tune summary.
Step 2: If you see any red values, in SWAPS, double –click the same.
Step 3: In the below screen click on the tab ‘Current Parameters‘
Step 4: Note down the value and the Profile parameters
Step 5: Go to RZ10 (to change the Profile parameter values)
Step 6: Save the changes.
Step 7: Restart the server to take the new changes effect.
CPU Utilization (ST06)
Idle CPU utilization rate must be 60-65%, if it exceeds the value then we must start checking at
least below things:
Run OS level commands – top and check which processes are taking most resources.
Go to SM50 or SM66. Check for any long running jobs or any long update queries being run.
Go to SM12 and check lock entries
Go to SM13 and check Update active status.
Check for the errors in SM21.
ABAP Dumps (ST22)
Here we check for previous day’s dumps
Spool Request Monitoring (SP01)
For spool request monitoring, execute SP01 and select as below:
Put ‘*’ in the field Created By
Click on execute button.
Here we record only those requests which are terminated with problems.
Monitoring Batch Jobs (SM37)
For Monitoring background jobs, execute SM37 and select as below:
Put ‘*’ in the field User Name and Job name
In Job status, select: Scheduled, Cancelled, Released and Finished requests.
Transactional RFC Administration (SM58)
Transactional RFC (tRFC, also originally known as asynchronous RFC) is an asynchronous
communication method which executes the called function module in the RFC server only once.
We need to select the display period for which we want to view the tRFCs and then select ‘*’ in
the username field to view all the calls which have not be executed correctly or waiting in the
queue.
QRFC Administration (Outbound Queue-SMQ1)
We should specify the client name over here and see if there any outgoing qRFCs in waiting or
error state.
QRFC Administration (Inbound Queue-SMQ2)
We should specify the client name over here and see if there any incoming qRFCs in waiting or
error state.
Database Administration (DB02)
After you select Current Sizes on the first screen we come to the below screen which shows us
the current status of all the tablespaces in the system.
If any of the tablespaces is more than 95% and the auto extent is off then we need to add a new
datafile so that the database is not full.
We can also determine the history of tablespaces.
We can select Months, Weeks or Days over here to see the changes which take place in a
tablespace.
We can determine the growth of tablespace by analyzing these values.
Database Backup logs (DB12)
From this transaction, we could determine when the last successful backup of the system was.
We can review the previous day’s backups and see if everything was fine or not.
We can also review the redo log files and see whether redo log backup was successful or not.
Quick Review
Daily Monitoring Tasks
1. Critical tasks
2. SAP System
3. Database
Critical tasks
No Task Transaction Procedure
1 Check that the R/3System is up. Log onto the R/3 Sy
2 Check that daily backup executed without errors DB12 Check database ba
SAP System
No Task Transaction Procedure / Remark
1 Check that all application servers are up. SM51 Check that all servers are up.
2 Check work processes (started from SM50 All work processes with a “running” or a “waiting” status
No Task Transaction Procedure / Remark
SM51).
3 Global Work Process overview SM66 Check no work process is running more than 1800 second
Set date to one day ago
Look for any failed updates (update Enter * in the user ID
3 terminates). SM13
Set to “all” updates Check for lines with “Err.”
Set date and time to before the last log review. Check for:
Errors
4 Check system log. SM21 Warnings
Security messages
Database problems
Enter an asterisk (*) in User ID.Verify that all critical
5 Review for canceled jobs. SM37
jobs were successful.
6 Check for “old” locks. SM12 Enter an asterisk (*) for the user ID.
Review for an unknown or different user ID and terminal.
7 Check for users on the system. SM04AL08
This task should be done several times a day.
Enter an asterisk (*) for Created ByLook for spool jobs
8 Check for spool problems. SP01
that have been “In process” for over an hour.
Check for:
9 Check job log SM37 New jobs
Incorrect jobs
Look for an excessive number of dumps.
10 Review and resolve dumps. ST22
Look for dumps of an unusual nature.
11 Review buffer statistics. ST02 Look for swaps.
Database
No Task Transaction Procedure / Remark
1 Review error log for problems. ST04
2 Database GrowthMissing Indexes DB02 If tablespace is used more than 90 % add
No Task Transaction Procedure / Remark
new data file to itRebuild the Missing Indexes
3 Database Statistics log DB13
SM51: SAP servers
Transaction code SM51 is to display a list of active application servers that have registered in the SAP
message server. Further, you can manage & display the status, users, and work processes in all application
servers belonging to the SAP System.
SM66: Global Work Process
SM66 is used to check the Active Work Process of all the instances. No, work process status should be in
PRIVATE mode if it’s then wp is consuming more memory.
If any work process is in PRIV mode, go to SM51 and Check the server name, instance number, and contact
the user if he is working in the system or not. If the user is not available Cancel the process without the core.
SP01: Spool Request Selection
In SP01 t-code we check the Spool Request data.
Execute the report with the required date and if the requested data is more than 500 we will get a popup to
select the entries.
At the end of the page, we can find the following data for the spool request.
SMGW: Gateway Monitor
The Gateway Monitor (transaction SMGW) is used for analyzing and administrating the gateway in the SAP
system. We check the number of Active gateway connections.
SM37: Job Selection
Transaction code SM37 is used to monitor the background, batch jobs running in the system.
From the initial screen, you can search by the job name, user name, or program name accordingly with the
time condition.
Scheduled – Job already been defined, but the start condition has not yet been defined.
Released – The job has been fully defined, including a start condition.
Ready – The start condition of a released job has been met. A job scheduler has put the job in line to
wait for an available background work process.
Active – The job is currently running. Active jobs can no longer be modified or deleted.
Finished – All steps that make up this job have completed successfully.
Canceled – The job has terminated. This can happen in two ways:
1. An administrator intentionally terminates the job
2. A job step contains a program that produces an error, such as:
3. An E or A error message in an ABAP program
4. A failure return code from an external SAPXPG program
SM12: Lock entries
In SM12 we check the Lock entries. No lock entries should exist for more than 24hours. The number of lock
entries should not exceed more than 500.
Check the list.
SM21: System logs
Transaction code SM21 is used to check and analyze system logs for any critical log entries. The SAP System
logs are all system errors, warnings, user locks due to failed login attempts from known users, and process
messages in the system log.
From the initial screen, go to System Log -> Choose -> All remote system logs. Set the date a day
before and click on the Reread system log.
In the system log analysis window, you can check/analyze the critical error message by double-
clicking it.
The list can be restricted for Problems Only, Problems, and all messages.
SM13: Update Records
Here we check the update records of the system which are getting canceled. If the records are reached more
than 50 then we need to take action.
ST22: ABAP dumps
Transaction code ST22 is used to lists the ABAP dumps generated in the system, we can check for a date, user
as required.
Every dump indicates the reason for the error, transaction code, variables that caused the error. The types of
error can be of various kinds for which action is to be taken to fix this error from happening again after
analysis.
SMQ1: qRFC Monitor (Outbound queue)
We need to check if any outbound entries got stuck in the queue. If so check with the respective job owner and
re-execute the entries.
SMQ2: qRFC Monitor (Inbound queue)
We need to check if any Inbound entries got stuck in the queue. If so check with the respective job owner and
re-execute the entries.
SM58: Transactional RFC
In SM58 we can check the transactional RFC errors if any occurred.
We can observe different types of errors for different functional modules check the target system entries and
perform the required analysis if the user requires it then we can re-execute those entries or else we can delete
the entries from the system. For example, we are deleting the WORKFLOW_LOCAL_100 Entries.
Go to the log file -> Reorganize
Enter the target system name in Destination box->And check the boxes as shown in the below screenshot->
Execute the program.
We are supposed to delete only Connection errors, System error, and Already Executed.
ST02: SAP Memory Configuration monitor
SAP Memory Configuration monitor checks the SAP Buffers and SAP Memory areas for problems such as
swapping.
It is a snapshot of the utilization of SAP shared buffers.
High watermarks of utilization for example extended, roll, paging, and heap memory can be obtained from the
SAP memory configuration monitor.
ST06: Memory Overview / Operating System Monitor
The operating system provides the instance with the following resources:
Virtual Memory
Physical Memory
CPU
File system Administration
Physical disk
Network
You can use the operating system monitor to monitor the system resources that the operating system provides.
The operating system collector SAPOSCOL collects these resources.
DB02: DBA Cockpit
Transaction code DB02 is to analyze and monitor database statistics (DB growth, tablespace size, missing
index &, etc.).
1. Check Tablespace size. Go to Tablespaces -> Overview. If a tablespace size is reaching a 95% level,
it’s advisable to increase the size. The Auto-extend should be Yes.
SMLG: Load Distribution
We need to check this tcode for performance issue, here we check the Response Time in load distribution of
the Instance.
Go to-> SMLG -> Load Distribution icon
ST03N: Workload analysis
The ST03 Workload Monitor is the central access point for analyzing performance problems in the SAP
system. ST03N is a revised version of the transaction ST03. In the current SAP Releases transaction, ST03N
replaces transaction ST03 and is automatically started when you enter transaction code ST03.
Here you can compare the performance values for all instances, and compare the performance of particular
instances over a period of time. Due to the number of possible analysis views for the data determined in
transaction ST03, you can quickly determine the cause of performance problems.
You can use the workload monitor to display the following, among other things:
Number of instances configured for your system
Number of users working on the different instances
Response time distribution
Distribution of workload by transaction steps, transactions, packages, sub-applications, and
applications
Transactions with the largest response times and database time
Memory usage for each transaction or each user per dialog step
Workload caused by RFC, broken down by transactions, function modules, and destinations
Number and volume of spool requests
Statistics about response time distribution, with or without the GUI time
Optional: table accesses
Workload and transactions used by users, broken down by users, accounting numbers, and clients
Workload generated by requests from external systems
STMS_IMPORT: Transport Request
This tcode is used to import the transport requests to the system. But for daily monitoring purposes, we use it
to check the import history.
Go to-> STMS_IMPORT -> select the History Icon.
SCC4: Clients Overview
In SCC4 we check whether the client is open or closed.
Go to -> SCC4 -> select the Production Client
If the Changes and Transports for Client-Specific Objects are -> No Changes Allowed then Client is Closed.
Other than that any option is selected then the client is Opened.
Also, make sure Cross-Client Object Changes are set to No Changes to Repository and cross-client
Customizing Objects.
Many thanks for taking the time to read my blog and I hope by reading this blog you can perform all the
System monitoring activities in SAP ECC&S/4, BW, GRC Systems. I also welcome any comments, opinions,
and feedback on my blog.
FollowLikeRSS Feed