Analyzing Work Processes

本文介绍了通过SAP系统的工作进程概览来诊断常见的性能问题的方法。包括如何判断数据库响应时间过长、更新服务被禁用、SAP内存管理问题等,并提供了针对不同情况的具体解决步骤。

If you watch the work process overview for several minutes and repeatedly click the REFRESH button to update the display, you can usually determine whether there is a current performance problem related to work processes in the SAP instance; if there is a problem, you can roughly estimate its cause. The main indication of a performance problem is thatall the work processes of a particular type (such as dialog or update)are occupied.


Long database response times

There is a problem in the database area if the work process overview in the ACTION column shows numerous database-related actions, such as SEQUENTIAL READ, DIRECT READ, UPDATE, COMMIT, and WAITING FOR DB LOCK. In this case, start two additional user sessions, the database process monitor and the database lock monitor (exclusive lock waits), to identify any expensive SQL statements or database locks.

Deactivated update service

If all update work processes (UPDs) are occupied, you have a specific problem. Check whether the update was deactivated. To do so, call Transaction SM13. Determine whether you can find the message UPDATING BY SYSTEM DEACTIVATED. If this is the case, an entry exists in the SAP Syslog (Transaction SM21) showing when, by whom, and for what reason the update was deactivated. As soon as the underlying problem is resolved, for example, a database error, you can reactivate the update work process in Transaction SM13.


Problems with SAP memory management

Problems with SAP memory management are often indicated in the work process overview as follows:

->The ACTION/REASON FOR WAITING field frequently displays ROLL-IN or RoLL-OUT (accompanied by a Type 6 semaphore).
->Many work processes are in PRTV mode (the STATUS field displays»STOPPED and the REASON field displays » PRIV).

Ex: Problem with Used-Up Extended Memory

1.almost all work processes are in the private mode state.

2. both t he SAP extended memory and the roll buffer are completely full.

Increasing the size of the extended memory (parameter em/initial_size_MB) or an analysis of the programs with high memory requirements will likely solve t he problem in this case.


Stopped work processes

If a work process listed in the local work process overview has the status STOPPED, the cause is indicated in the REASON fie ld. To obtain a list of the possible reasons, access SAP Help for this column.

Normally, it is not a problem if some work processes have the status STOPPED for short periods of time. However, if the number of work processes that are stopped for thesame reason exceeds 20%, or if these work processes continue to have the statusSTOPPED for a long time, you should analyze the situation in detail.


A single ineffective or defective

work process often starts a chain reaction that stops other work processes. I A single ineffective or defective work process can be found using the TIME field . You can often assume that the work process with the longest runtime (indicated in the TIME column) caused the problem. If the problem is acute, consider manually terminating the defective work process


Completed work processes

If, in the work process overview, you detect numerous terminated work processes (indicated as COMPLETE in the STATUS field) and find that you cannot restart them, it is likely that there is a problem with the SAP kernel or with logging onto the database. In this case, check the trace file. This can be found in the work process overview under the menu option PROCESS • TRACE • DISPLAY. Save this trace file to a local file. The trace file will be overwritten when the work process is restarted, so save the trace file to a secure location to enable subsequent troubleshooting. Look for SAP Notes referring to the problem at the SAP Service Marketplace, or consult SAP.


Incorrect load distribution

In a distributed system with several computers, you may find a work process bottleneck on at least one computer, while other computers have idle work processes. Check how many users are logged onto each SAP instance. On the workload monitor, you can also check how many dialog steps have been executed on each server. If you discover a very uneven distribution load, you should optimize your logon distribution. Use Transaction SMLG to check whether all the servers are available for logon distribution or whether there are any relevant error messages. Then, proceed with reorganizing the logon distribution.

For an overview of current user distribution, see the logon group distribution via the following path:
TOOLS • ADMINISTRATION • CCMS • CONFIGURATION • LOGON GROUPS
(Transaction SMLG) • GoTo • LOAD DISTRIBUTION


Too few work processes

As you can see from the problems described in the previous sections, there are many reasons why all work processes of a given type might be busy. If you have ruled out all the problems discussed so far yet still have a work process bottleneck, it may be that you have not configured enough work processes. In this case, you should increase the number of work processes. However, before doing so, check whether the computer has sufficient CPU and main memory resources. If the CPU is already being 80% utilized, an increase in the number of work processes will more likely further decrease rather than increase performance.

References to Problems That Can Be Detected Using the Work Process Overview

ProblemTitle
Long database
response times
Identifying Expensive SQL
Statements; Optimizing SQL
Statements
Locks
Optimizing SQL statements
SAP memory configurationAnalyzing SAP Memory Configuration
Memory Management of SAP NetWeaver ABAP Application Server
Nonoptimal load distribution, too few work processesWorkload Distribution and
Remote Function Calls


Invocation ID: 93818502-f09b-4e6a-bacc-abdaa6274d7a Loading: Loading: Loading: Loading: Loading: 2 packages loaded Loading: 2 packages loaded currently loading: kernel_device_modules-6.1 Loading: 2 packages loaded currently loading: kernel_device_modules-6.1 DEBUG: /mnt/kernel/oplus/bazel/oplus_modules_list.bzl:232:10: oplus_feature_list: {} DEBUG: /mnt/kernel/oplus/bazel/oplus_modules_list.bzl:286:22: Remove: //vendor/oplus/sensor/kernel/sensorhub:pseudo_sensor DEBUG: /mnt/kernel/oplus/bazel/oplus_modules_list.bzl:286:22: Remove: //vendor/oplus/kernel/dfr:oplus_inject DEBUG: /mnt/kernel/oplus/bazel/oplus_modules_list.bzl:286:22: Remove: //vendor/oplus/kernel/dfr:oplus_inject_aw8692x Analyzing: target //kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user (3 packages loaded) Analyzing: target //kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user (3 packages loaded, 0 targets configured) Analyzing: target //kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user (7 packages loaded, 12 targets configured) Analyzing: target //kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user (11 packages loaded, 22 targets configured) Analyzing: target //kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user (18 packages loaded, 24 targets configured) Analyzing: target //kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user (65 packages loaded, 27 targets configured) DEBUG: /mnt/kernel/build/kernel/oplus/oplus_modules_list.bzl:232:10: oplus_feature_list: {} DEBUG: /mnt/kernel/build/kernel/oplus/oplus_modules_define.bzl:47:18: Remove: compilation conditions are not met in pseudo_sensor Analyzing: target //kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user (115 packages loaded, 28 targets configured) Analyzing: target //kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user (126 packages loaded, 3729 targets configured) Analyzing: target //kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user (140 packages loaded, 4453 targets configured) Analyzing: target //kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user (147 packages loaded, 18227 targets configured) DEBUG: /mnt/kernel/build/kernel/oplus/oplus_modules_list.bzl:232:10: oplus_feature_list: {} DEBUG: /mnt/kernel/build/kernel/oplus/oplus_modules_define.bzl:47:18: Remove: compilation conditions are not met in oplus_inject DEBUG: /mnt/kernel/build/kernel/oplus/oplus_modules_list.bzl:232:10: oplus_feature_list: {} DEBUG: /mnt/kernel/build/kernel/oplus/oplus_modules_define.bzl:47:18: Remove: compilation conditions are not met in oplus_inject_aw8692x ERROR: /mnt/kernel/vendor/oplus/kernel/mm/BUILD.bazel: no such target '//vendor/oplus/kernel/mm:oplus_bsp_fg_protect.mgk_64_k61.6.1.user': target 'oplus_bsp_fg_protect.mgk_64_k61.6.1.user' not declared in package 'vendor/oplus/kernel/mm' defined by /mnt/kernel/vendor/oplus/kernel/mm/BUILD.bazel (Tip: use `query "//vendor/oplus/kernel/mm:*"` to see all the targets in that package) DEBUG: /mnt/kernel/build/bazel_mgk_rules/mgk.bzl:490:10: _mgk_build_config_impl defconfig is ["${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/gki_defconfig", "${ROOT_DIR}/kernel_device_modules-6.1/arch/arm64/configs/${DEFCONFIG}", "${ROOT_DIR}/kernel_device_modules-6.1/kernel/configs/oplus6878.config"] ERROR: /mnt/kernel/kernel_device_modules-6.1/BUILD.bazel:80:11: no such target '//vendor/oplus/kernel/mm:oplus_bsp_fg_protect.mgk_64_k61.6.1.user': target 'oplus_bsp_fg_protect.mgk_64_k61.6.1.user' not declared in package 'vendor/oplus/kernel/mm' defined by /mnt/kernel/vendor/oplus/kernel/mm/BUILD.bazel (Tip: use `query "//vendor/oplus/kernel/mm:*"` to see all the targets in that package) and referenced by '//kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user' ERROR: Analysis of target '//kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user' failed; build aborted: Analysis failed INFO: Elapsed time: 67.716s INFO: 0 processes. ERROR: Build did NOT complete successfully INFO: Invocation ID: d10ebca8-2e09-4c71-abe4-9818b4974bc0 Loading: Loading: Loading: 0 packages loaded Analyzing: target //kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user (0 packages loaded, 0 targets configured) ERROR: /mnt/kernel/vendor/oplus/kernel/mm/BUILD.bazel: no such target '//vendor/oplus/kernel/mm:oplus_bsp_fg_protect.mgk_64_k61.6.1.user': target 'oplus_bsp_fg_protect.mgk_64_k61.6.1.user' not declared in package 'vendor/oplus/kernel/mm' defined by /mnt/kernel/vendor/oplus/kernel/mm/BUILD.bazel (Tip: use `query "//vendor/oplus/kernel/mm:*"` to see all the targets in that package) ERROR: /mnt/kernel/kernel_device_modules-6.1/BUILD.bazel:80:11: no such target '//vendor/oplus/kernel/mm:oplus_bsp_fg_protect.mgk_64_k61.6.1.user': target 'oplus_bsp_fg_protect.mgk_64_k61.6.1.user' not declared in package 'vendor/oplus/kernel/mm' defined by /mnt/kernel/vendor/oplus/kernel/mm/BUILD.bazel (Tip: use `query "//vendor/oplus/kernel/mm:*"` to see all the targets in that package) and referenced by '//kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user' ERROR: Analysis of target '//kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user' failed; build aborted: Analysis failed INFO: Elapsed time: 7.442s INFO: 0 processes. ERROR: Build did NOT complete successfully SCM.IT: ####### Build VND krn Error Trace ####### END parse_trace:102 -INFO: ===== OPLUS TRACES START ==== parse_trace:107 -INFO: ----- 编译报错(ERROR):0 ------ showItemsCn:66 -INFO: 报错目标: local :rule203799 :build out_krn/target/product/mgk_64_k61/obj/KLEAF_OBJ/dist/kernel_device_modules-6.1/mgk_64_k61_kernel_aarch64.user/Image.lz4. showItemsCn:80 -INFO: 报错原因: no such target '//vendor/oplus/kernel/mm:oplus_bsp_fg_protect.mgk_64_k61.6.1.user': target 'oplus_bsp_fg_protect.mgk_64_k61.6.1.user' not declared in package 'vendor/oplus/kernel/mm' defined by /mnt/kernel/vendor/oplus/kernel/mm/BUILD.bazel (Tip: use `query "//vendor/oplus/kernel/mm:*"` to see all the targets in that package) showItemsCn:83 -INFO: 错误内容: ERROR: /mnt/kernel/vendor/oplus/kernel/mm/BUILD.bazel: no such target '//vendor/oplus/kernel/mm:oplus_bsp_fg_protect.mgk_64_k61.6.1.user': target 'oplus_bsp_fg_protect.mgk_64_k61.6.1.user' not declared in package 'vendor/oplus/kernel/mm' defined by /mnt/kernel/vendor/oplus/kernel/mm/BUILD.bazel (Tip: use `query "//vendor/oplus/kernel/mm:*"` to see all the targets in that package) DEBUG: /mnt/kernel/build/bazel_mgk_rules/mgk.bzl:490:10: _mgk_build_config_impl defconfig is ["${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/gki_defconfig", "${ROOT_DIR}/kernel_device_modules-6.1/arch/arm64/configs/${DEFCONFIG}", "${ROOT_DIR}/kernel_device_modules-6.1/kernel/configs/oplus6878.config"] parse_trace:107 -INFO: ----- 编译报错(ERROR):1 ------ showItemsCn:66 -INFO: 报错目标: local :rule203799 :build out_krn/target/product/mgk_64_k61/obj/KLEAF_OBJ/dist/kernel_device_modules-6.1/mgk_64_k61_kernel_aarch64.user/Image.lz4. showItemsCn:80 -INFO: 报错原因: no such target '//vendor/oplus/kernel/mm:oplus_bsp_fg_protect.mgk_64_k61.6.1.user': target 'oplus_bsp_fg_protect.mgk_64_k61.6.1.user' not declared in package 'vendor/oplus/kernel/mm' defined by /mnt/kernel/vendor/oplus/kernel/mm/BUILD.bazel (Tip: use `query "//vendor/oplus/kernel/mm:*"` to see all the targets in that package) and referenced by '//kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user' showItemsCn:83 -INFO: 错误内容: ERROR: /mnt/kernel/kernel_device_modules-6.1/BUILD.bazel:80:11: no such target '//vendor/oplus/kernel/mm:oplus_bsp_fg_protect.mgk_64_k61.6.1.user': target 'oplus_bsp_fg_protect.mgk_64_k61.6.1.user' not declared in package 'vendor/oplus/kernel/mm' defined by /mnt/kernel/vendor/oplus/kernel/mm/BUILD.bazel (Tip: use `query "//vendor/oplus/kernel/mm:*"` to see all the targets in that package) and referenced by '//kernel_device_modules-6.1:mgk_64_k61_customer_modules_install.user' RunAndCheckOutput:69 -ERROR: Failed to run command '/work/000c/workspace/Personal_Debug_Release/pro/code/source/vnd/vendor/oplus/build/ci/trace/starcoderGPT.py ERROR: /mnt/kernel/vendor/oplus/kernel/mm/BUILD.bazel: no such target '//vendor/oplus/kernel/mm:oplus_bsp_fg_protect.mgk_64_k61.6.1.user': target 'oplus_bsp_fg_protect.mgk_64_k61.6.1.user' not declared in package 'vendor/oplus/kernel/mm' defined by /mnt/kernel/vendor/oplus/kernel/mm/BUILD.bazel (Tip: use `query "//vendor/oplus/kernel/mm:*"` to see all the targets in that package) DEBUG: /mnt/kernel/build/bazel_mgk_rules/mgk.bzl:490:10: _mgk_build_config_impl defconfig is ["${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/gki_defconfig", "${ROOT_DIR}/kernel_device_modules-6.1/arch/arm64/configs/${DEFCONFIG}", "${ROOT_DIR}/kernel_device_modules-6.1/kernel/configs/oplus6878.config"]' (exit code 255): ERROR: 403, {'code': 'forbidden', 'message': "The app's API service has been disabled.", 'status': 403} parse_trace:115 -INFO: ===== OPLUS TRACES END ===== SCM.IT: mk_android failed, result is 1. SCM.IT: makeOPPO runtime: 00:43:56 SCM.IT: ####### makeOPPO ####### END SCM.IT: makeOPPO failed, result is 1.
11-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值