SAP Basis 日常系统监控与性能检查完整指南

作者:郑德鼎 约 11 分钟阅读 更新日期:2026-07-17 内容较新 标签:Basis, 系统管理, 监控, 性能, SM50, SM51, SM66, ST22, DB02
目录
改写来源:SAP Monitoring & Performance Checks: Complete Tutorial with Tcodes

SAP Basis 工程师的核心职责之一是保证 SAP 系统稳定、高效运行。系统监控不是一次性任务,而是需要每日执行的例行活动。本文整理了 SAP Basis 日常监控的完整流程,涵盖应用服务器、工作进程、锁、更新、系统日志、批处理、数据库等关键检查点,并提供对应的事务码与处理建议。


1. 什么是 SAP 系统监控

SAP 系统监控是指对 SAP 应用服务器、数据库、工作进程、用户会话、后台作业等进行持续检查,以便:


2. 为什么需要每日基础检查


3. 应用服务器监控(SM51

原因说明
提前发现风险在问题影响业务前识别异常
保障业务连续性确保关键后台作业、接口、备份成功执行
优化系统性能通过监控数据分析 CPU、内存、数据库空间使用趋势
满足审计要求保留系统日志、备份记录、用户活动痕迹

事务码:SM51

SM51 用于查看当前系统中所有活动的应用服务器实例。通过该事务码可以确认:

**日常检查要点**:确保所有预期的应用服务器均显示为活动状态,无意外停止的实例。

4. 工作进程监控

4.1 单实例工作进程(SM50

事务码:SM50

SM50 显示特定实例上所有工作进程的状态,包括:

#### 常见状态与处理

状态含义处理建议
Waiting / Running正常状态无需处理
Stopped进程异常停止检查进程日志,必要时重启
PRIV进程被用户独占,占用大量内存联系用户,考虑改为后台作业执行
长时间 Running存在长运行任务检查具体报表或事务,必要时取消

#### 典型问题

如需取消异常进程,可选中进程后选择 **Process → Cancel Without Core**。

4.2 全局工作进程概览(SM66

事务码:SM66

SM66 提供跨所有活动实例的全局工作进程视图,可以快速定位系统级性能问题。通过该视图可以查看:


5. 用户会话监控(SM04 / AL08

事务码用途
SM04查看当前实例上的活动用户
AL08查看所有实例上的活动用户

日常检查要点

建议每天多次检查用户活动,特别是在系统性能下降时。

6. 更新进程监控(SM13

事务码:SM13

SM13 用于监控 SAP 更新进程(Update Process)。如果更新失败或长时间挂起,可能导致财务凭证、库存移动等关键业务无法完成。

#### 操作步骤

  1. 执行 `SM13`;
  2. 在 **USER** 字段输入 `*`;
  3. 检查更新队列。

#### 检查重点


7. 锁条目监控(SM12

检查项说明
更新是否激活如果未激活,确认是系统停用还是用户手动停用
是否有取消的更新标记为错误的更新需要人工处理
是否有超过 10 分钟的待处理更新长时间挂起的更新可能阻塞后续业务

事务码:SM12

SAP 使用锁机制防止多个用户同时修改同一条记录。当用户因网络中断等原因未正常退出时,可能遗留旧锁,导致其他用户无法访问或修改数据。

#### 操作步骤

  1. 执行 `SM12`;
  2. 在 **User Name** 字段输入 `*`;
  3. 查看系统中的锁条目。

#### 处理建议


8. 系统日志监控(SM21

事务码:SM21

SM21 用于查看系统日志,帮助定位系统错误、警告和安全事件。

#### 推荐操作

  1. 设置日期和时间范围,通常检查前一天;
  2. 选择 **Problems and Warnings** 选项;
  3. 点击 **Reread System Log**。

#### 关注内容


9. 缓冲区与调优摘要(ST02 / RZ10

事务码:ST02

ST02 显示 SAP 缓冲区(Buffer)和调优摘要。如果看到 SWAP 项为红色,说明缓冲区配置可能不足,需要调整参数。

#### 调整步骤

  1. 在 `ST02` 中双击红色的 SWAP 项;
  2. 切换到 **Current Parameters** 标签页;
  3. 记录当前值和对应的 Profile 参数;
  4. 使用 `RZ10` 修改 Profile 参数;
  5. 保存更改;
  6. **重启应用服务器**使参数生效。
修改 Profile 参数前应先在测试环境验证,并记录变更。

10. CPU 利用率监控(ST06

事务码:ST06

ST06 显示操作系统级别的 CPU 使用情况。一般来说,空闲 CPU 利用率应保持在 60%–65%。如果超过该阈值,需要进一步排查:

  1. 在 OS 层运行 `top`(Linux/Unix)或任务管理器(Windows),查看哪些进程占用最多资源;
  2. 使用 `SM50` 或 `SM66` 检查是否有长运行作业或长更新查询;
  3. 使用 `SM12` 检查是否有异常锁;
  4. 使用 `SM13` 确认更新进程是否正常;
  5. 使用 `SM21` 查看系统日志中的错误。

11. ABAP Dump 分析(ST22)

事务码:ST22

ST22 用于查看 ABAP 运行时的 Dump(短转储)。建议每天检查前一天的 Dump,重点关注:

#### 分析要点


12. 后台作业监控(SM37)

Dump 类型可能原因
TIME_OUT程序运行超过最大对话时间
DBIF_RSQL_INVALID_RSQL错误的 Open SQL 语句
CONVT_NO_NUMBER数字转换错误
MESSAGE_TYPE_X程序主动终止

事务码:SM37

SM37 用于监控和管理后台作业。日常检查建议:

  1. 在 **User Name** 和 **Job name** 字段输入 `*`;
  2. 选择以下状态:**Scheduled、Cancelled、Released、Finished**;
  3. 检查关键作业是否成功完成;
  4. 查看是否有取消或失败的作业需要重跑。

13. 假脱机请求监控(SP01)

事务码:SP01

SP01 用于监控假脱机(Spool)请求。建议操作:

  1. 在 **Created By** 字段输入 `*`;
  2. 查找状态异常或长时间处于 **In process** 的假脱机请求;
  3. 重点关注已运行超过一小时的打印任务。

14. RFC 队列监控

14.1 事务性 RFC(SM58)

事务码:SM58

SM58 显示事务性 RFC(tRFC)的调用状态。建议:

  1. 选择需要查看的显示期间;
  2. 在 **User Name** 字段输入 `*`;
  3. 查看状态为错误、等待或重试的 tRFC 调用;
  4. 对失败的调用进行重新执行或排查。

14.2 队列 RFC 出站(SMQ1)

事务码:SMQ1

用于监控出站队列(Outbound Queue)中的 qRFC。检查是否有处于等待或错误状态的出站消息。

14.3 队列 RFC 入站(SMQ2)

事务码:SMQ2

用于监控入站队列(Inbound Queue)中的 qRFC。同样需要检查等待或错误状态的消息。


15. 数据库监控

15.1 表空间监控(DB02)

事务码:DB02

DB02 显示数据库表空间的当前使用情况。建议:

  1. 选择 **Current Sizes**;
  2. 检查每个表空间的使用率;
使用率处理建议
< 90%正常,持续观察
90%–95%需要关注,规划扩容
> 95% 且未启用自动扩展立即添加数据文件,防止数据库写满

DB02 还可以查看表空间的历史增长趋势,按天、周、月分析容量变化。

15.2 数据库备份日志(DB12)

事务码:DB12

DB12 用于查看数据库备份日志。通过该事务码可以确认:

备份失败是必须立即处理的高优先级问题。

15.3 数据库性能监控(ST04)

事务码:ST04

ST04 提供数据库性能概览,包括缓存命中率、等待事件、Top SQL 等,是排查数据库性能问题的重要工具。


16. 每日监控任务速查表


17. 常见性能问题与排查思路


18. 最佳实践

  1. **建立每日检查清单**:将上述检查任务固化到 Basis 团队的日常工作中。
  2. **使用监控工具**:结合 SAP Solution Manager、SAP Focused Run 或第三方监控平台实现自动化告警。
  3. **保留历史记录**:定期导出 `ST22`、`SM21`、`DB12` 等关键数据,便于趋势分析和审计。
  4. **参数调整前备份 Profile**:使用 `RZ10` 修改参数前,先导出原始 Profile。
  5. **及时处理告警**:对于备份失败、表空间满、更新失败等高优先级问题,应立即响应。

19. 相关 SAP 事务码速查


来源说明

优先级检查任务事务码检查要点
确认 SAP 系统可登录能正常登录所有客户端
检查数据库备份DB12前一天备份成功
检查应用服务器SM51所有实例正常运行
检查工作进程SM50 / SM66进程状态正常,无长时间运行任务
检查失败更新SM13无错误和长时间挂起更新
检查系统日志SM21无新增严重错误/警告
检查用户会话SM04 / AL08无异常用户
检查锁条目SM12清理旧锁
检查 ABAP DumpST22无异常 Dump
检查后台作业SM37关键作业成功完成
检查假脱机SP01无长时间挂起打印任务
检查 RFC 队列SM58 / SMQ1 / SMQ2无失败或积压消息
检查表空间DB02使用率未超过阈值
检查缓冲区ST02无红色 SWAP
检查 CPUST06空闲 CPU 在合理范围
现象排查事务码可能原因
用户登录缓慢SM50SM66SM04DIA 进程不足、长运行对话进程
事务响应慢ST04SM50SM21数据库性能差、锁等待、CPU 高
更新失败SM13更新进程停止、数据不一致
数据无法修改SM12旧锁未释放
打印失败SP01SM21打印服务器或打印机问题
表空间告警DB02数据增长、未自动扩展
备份失败DB12存储空间不足、介质故障
功能事务码
应用服务器SM51
工作进程(单实例)SM50
全局工作进程SM66
用户会话SM04AL08
更新进程SM13
锁条目SM12
系统日志SM21
缓冲区调优ST02 / RZ10
CPU/OS 监控ST06
ABAP DumpST22
后台作业SM37
假脱机请求SP01
tRFCSM58
qRFC 出站/入站SMQ1 / SMQ2
数据库表空间DB02
数据库备份DB12
数据库性能ST04

本文由 SAP 技术资料《SAP Monitoring & Performance Checks: Complete Tutorial with Tcodes》改写整理,系统梳理了 SAP Basis 日常监控的检查点、事务码和处理建议。未对 SAP 标准行为进行推断或编造;具体命令和参数请以当前 SAP 版本、操作系统及数据库平台为准。

郑德鼎

关于作者:郑德鼎

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文由 SAP 技术资料改写整理,仅供学习交流。