---
title: Linux 环境下如何排查偶发性且持续几分钟的 CPU 跑高问题-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 Linux 环境下如何排查偶发性且持续几分钟的 CPU 跑高问题相关的常见问题和使用技巧，帮助您快速解决 Linux 环境下如何排查偶发性且持续几分钟的 CPU 跑高问题的难题。
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# Linux 环境下如何排查偶发性且持续几分钟的 CPU 跑高问题

更新时间：2026-05-18 01:51

适用版本： V1.4.x、V2.1.x、V2.2.x、V3.1.x、V3.2.x、V4.0.x、V4.1.x、V4.2.x 内容类型：How-to  

在生产环境中，CPU 跑高时，因为偶发或者持续时间短等原因，无法有效抓取到相关问题信息，该方法主要是借助 perf 采集系统的线程执行情况，从而追溯问题期间的各个进程或线程的 CPU 使用情况。

具体步骤如下：

1. 部署 perf 采集任务

   ```shell
   nohup perf record -e cpu-clock -g     -T -k CLOCK_REALTIME -F 10 -o /xxxx/xxx.perf --switch-output=1M >/dev/null 2>&1 &

   ```

   -F 10为采集频率，此处为1秒10次，采集频率不建议设置过高，以免对系统负载产生影响，同时建议在测试环境对perf采集的负载进行评估，-o为采集文件的存放位置。
 2. 等待问题出现后，查看通过如下方式读取问题发生时间点的线程调用情况。

   ```shell
   perf script -i perf.file
   perf script -F comm,pid,tid,time -i perf.file

   ```

   打开后，时间展示格式为 unix timestamp，需要确认问题发生时间点的 timestamp，然后观察 CPU 跑高出现时，线程的调用情况，确认是否存在较多的系统调用（高并发的文件读取等操作）操作或者比较可疑的系统调用情况，确认问题原因。

## 适用版本

OceanBase 数据库所有版本。

上一篇

[large_query_worker_percentage 无法按预期限制住租户的 CPU 使用](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002396055)

下一篇

[OBServer 并发线程数过多导致租户登录慢或 SQL 执行慢](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000207665) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
