Escolar Documentos
Profissional Documentos
Cultura Documentos
In my previous post, I have covered how to run ST06, navigate through important ST06 screens and understand those
screens. In this post, I would talk about how to use SAP transaction ST06 for performance analysis:
1. Use SAP ST06 to do CPU workload analysis
2. Use SAP ST06 to do SAP system memory load analysis
3. Other analysis
I mainly focus on CPU and Memory analysis which are often showed up as a concern to application/system performance.
SAP ST06 itself cannot provide all data needed for CPU load and memory performance analysis. SAP ST06 can be used to
find out when and where there is a performance concern related to CPU and memory etc for further analysis. Working in
conjunction with other performance tools like SAP workload monitor ST03/ST03N, database load monitor- ST04, SAP
transaction statistics tool STAD and SAP snapshots collector -/SDF/MON etc, you can identify SAP work processes ,
jobs/programs, users who contributed to CPU/Memory performance issue, then solutions/options can be reviewed and worked
on subsequently.
1.1 Review CPU load to make sure CPU utilization under the recommended threshold
One of important goals for CPU workload analysis is to make sure that CPU utilization is not over general recommendation
Sum of User and Sys CPU utilization should not over 80% on hourly basis. For application server, system utilization portion of
CPU should not be over 10% and for data base server, it should not be over 20%. It is more critical to maintain at least 20%
CPU idle rate for database server since database server is a central instance and all SAP transactions/programs need to
access database server one way or another.
You can run ST06 and refresh the main screen to see whether CPU is over utilized now. You can use hourly CPU utilization
history for the past 24 hours or daily average in the past 30 days provided by SAP ST06 to see whether CPU has been over
utilized in the past. If there are situations that those thresholds are exceeded, you need to look into the details on who (jobs,
processes or users) are contributing most to the over utilization so you can review the situation and identify the solution.
Then you might ask how to identify top jobs, processes or users who is consuming a lot of CPU power. Unfortunately, SAP
ST06 itself cannot provide SAP jobs or processes names. You need to use different SAP or non SAP tools to complete the
performance analysis dependant on whether you are reviewing a current CPU load concern or past CPU load concern. Since
we are dealing with SAP system performance and the CPU overutilization is mostly related to processes from SAP in most
cases, this post would cover details how to identify top SAP jobs, processes or users. There are cases when non SAP
processes are making significant contribution to CPU overutilization, I would briefly mention this.
1.1.1 How to identify TOP CPU SAP user, processes, programs/jobs related to current CPU load
issue
First, you need to refresh ST06 Top CPU process screens to know which ST06 process is a top CPU process. Following is a
part of ST06 Top CPU processes screen:
If a process in ST06 Top CPU processes screen is a non-SAP process and you do not have access to operating system shell,
you need to talk with your system-level administrator to find out operating system level program/script/job name.
ST06 process name like DW.* is related to SAP work process in SM50. ST06 process name like ORACLE* is related to a
database session/process in ST04. This has been covered in my previous post how to run ST06, navigate through important
ST06 screens and understand those screens.
1.1.1 How to identify TOP CPU SAP user, processes, program/jobs related to past CPU load
For past CPU overload, you need to use SAP transaction ST03/ST03N SAP system workload monitor to analyze the
workload for the specific period to identify top offenders. SAP transaction ST03/ST03N is an important performance tool. You
can use ST06 data as an input for ST03/ST03N analysis. If /SDF/MON is scheduled in the system, you can use /SDF/MON
system performance snapshots to do further analysis.
Under current SAP technology, we normally do not need to worry about individual CPU/processor utilization showed in
Snapshot CPU screen (Not TOP CPU screen which shows a list of work processes). However, this could be a concern if
one or more of server CPUs are reserved for specific purpose/application.
1.5.1 How is a ST06 database related process linked to a SAP SM50 work process
1.5.1 How is a ST06 SAP-related process linked to a SM50 SAP work process
1.6 Possible solution for mitigating CPU work load and achieving better load balance
Through above analysis, you identify the top peak period and top business transactions/jobs, you can consider following
solutions to reduce CPU load and achieve better load balance:
Schedule run t job in different time when system is less busy or change job frequency
Tune job/program logic and database operation So the job/program is more efficient and use less CPU. This can
include job variant change.
Workload balance/redistribution run the job/program in another server/instance of the SAP system.
Upgrading hardware more powerful server or more CPUs/Processors.
Upgrading hardware should be the last resort after all other options have been tried. For tuning ABAP program performance,
you can refer to my post how to do performance trace using SAP ST12 and how to tuning ABAP program performance if
you like.
If external process is using a lot of CPU power, then you can use similar solutions as what we have for SAP related
processes. Or you can simply terminate it and stop it depending on your scenario.
production support and SAP development. Please refer to my post on how to run /SDF/MON for memory analysis if you would
like to know more on it.
Reduce volume you might need to educate end business users or change job variant.
Schedule Run job/transaction in different time when there is less memory load.
Redeployment run the job in different instance or server.
Tune the SAP job/program to reduce memory usage.
More capacity add in additional physical memory or swap space.
As for CPU load analysis, adding more capacity should the last resort when other options have been reviewed. If external
process/task is causing issue, you need to work with owner and look into solution depends on actual scenario.
File space analysis is to check that we have enough free space at OS directory level. This might be critical for successful
running of jobs/programs which need to output file to operating system level.
4. Further clarification
Up to now, I have covered on how to use SAP operating system monitor ST06 to do performance analysis: Identify
existing/potential problems using SAP operating system monitor ST06 and continue ST06 analysis with other SAP
performance tools. From ST06, you can access other SAP tools such as network traffic check which can be handy for
troubleshooting network related performance issue.