---
title: tsar 命令不显示 traffic 流量指标问题的原因及解决方法-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于tsar 命令不显示 traffic 流量指标问题的原因及解决方法相关的常见问题和使用技巧，帮助您快速解决tsar 命令不显示 traffic 流量指标问题的原因及解决方法的难题。
---
切换语言

- 简体中文
- English

划线反馈

# tsar 命令不显示 traffic 流量指标问题的原因及解决方法

更新时间：2026-06-16 09:21

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

## 问题现象

**服务器：** 海光 Hygon C86 7390 **操作系统版本：** 麒麟 v10sp3_x86_64-build23/20230324 **tsar 版本：** 2.1.66-1.5923e46

主机 tsar 监控命令不显示 traffic 流量指标，如下图。

![image01](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/storage/20241009tsar00001.png)

## 问题分析

tsar 是淘宝开发的一个开源的采集工具，主要收集主机的系统信息（如：cpu、mem、io、tcp、load 等）。对应配置文件 `/etc/tsar/tsar.conf`，收集的数据存储的位置由配置文件中参数 `output_file_path` 指定，默认是 `/var/log/tsar.data`，详细参见：[alibaba/tsar](https://github.com/alibaba/tsar)。

## 问题排查

1. 通过 github issues 找到相关问题，跟网卡名有关，把想采集的网卡名配置到 `/etc/tsar/tsar.conf` 中，比如：mod_traffic on eth0 eth1 这样。

   ![image02](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/storage/20241009tsar002.png)

   按照上述方式，配置后，仍然不生效，下图所示。

   ![image03](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/storage/20241009tsar003.png)
 2. 重新根据 tsar 工具源码分析。

   ![image04](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/storage/20241009tsar0004.png)

   从上图可以看到，问题根本在于 `mod_traffic.c` 源文件中，只定义了 `eth`，`em`，`en` 这 3 类网卡名开头的。而海光 Hygon C86 7390 服务器默认安装网卡名是自动生成的（以 `p` 开头），不在这三类网卡名内，如下图所示。

   ![image05](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/storage/20241009tsar005.png)

   因此需重新下载 tsar 源文件，修改 `mod_traffic.c` 文件，然后重新进行源文件编译。

      1. 下载源文件：[git clone](https://github.com/alibaba/tsar.git)。
      2. 修改 `mod_traffic.c` 源文件，如下图所示。

        ![image06](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/storage/20241009tsar006.png)

        #### 说明

             - `n_prefix` 配置的数量跟 `*prefixes[10]` 变量值个数需要保持一致。
             - `*prefixes[10]` 变量值，必须是 2 个字符及以上，不能配置为一个字符，否则会出现 tsar 命令 core 问题。  

        配置以单字符 `p` 开头，tsar 命令会 core 掉，如下二副图所示。

        ![image07](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/storage/20241009tsar007.png) ![image08](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/storage/20241009tsar008.png)
 3. 重新编译安装。

   ```shell
   # cd tsar
   # make
   # make install

   ```
 4. 验证 traffic 流量有数据显示。

   ![image09](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/storage/20241009tsar009.png)

## 问题原因

tsar 工具和麒麟操作系统默认安装的网卡名不匹配导致。这个跟网卡名有关，不只限制麒麟操作系统，其它os应该也是一个道理。tsar 工具的 `mod_traffic.c` 源文件中，只定义了 `eth`，`em`，`en` 这 3 类网卡名开头的。对于海光 7390 服务器，网卡都是新一代的网卡，默认麒麟操作系统安装后，网卡都是以 `p` 开头的，不属于这三类，如果要兼容其它，就要重新修改编译。而且 `mod_traffic.c` 中不能是以单字符网卡名开头，否则会 core。

## 影响租户

影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。

## 适用版本

OceanBase 数据库所有版本。

## 解决方法

- 方法一：下载 tsar 源码，修改 `mod_traffic.c` 文件，加入对应网卡匹配前缀，最后重新对 tsar 源文件编译。
 - 方法二：操作系统安装时，设置网卡名称以 `en` 开头。

Previous

[SSTable 数量太多的问题排查](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000994204)

Next

[物理备份磁盘膨胀的原因和解决方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003162740) ![有帮助](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) 咨询热线
