# DCU Perfile Tools

一个针对DCU环境的综合性能分析工具，整合了现有的环境检查脚本功能，使客户能够便捷地执行性能分析、收集相关日志，并生成可执行的报告。

## 功能特性

### 核心功能
- ✅ **系统信息收集**: CPU、内存、操作系统版本等基础信息
- ✅ **PCIe设备检查**: DCU设备识别、PCIe链路状态分析
- ✅ **驱动状态检查**: 内核模块加载状态、驱动文件完整性
- ✅ **系统日志收集**: dmesg、系统日志文件分析
- ✅ **硬件信息检查**: 主板、BIOS、IPMI信息收集
- ✅ **性能指标监控**: CPU、内存、磁盘使用率实时监控

### 高级特性
- ✅ **模块化检查**: 可选择性运行特定检查模块
- ✅ **并行处理**: 多线程并发执行检查任务
- ✅ **详细日志**: 完整的操作记录和错误追踪
- ✅ **报告生成**: JSON和文本格式的分析报告
- ✅ **数据打包**: 一键导出所有分析结果
- ✅ **跨平台支持**: 独立可执行文件，无需Python环境

## 快速开始

### 使用可执行文件（推荐）
```bash
cd dist

# 下载并赋予执行权限
chmod +x dcu_analyzer

# 运行所有检查
./dcu_analyzer

# 运行指定模块
./dcu_analyzer -c system pcie driver

# 指定输出目录
./dcu_analyzer -o /tmp/my_analysis
```

### 使用Python版本
```bash
# 运行所有检查
python3 dcu_performance_analyzer.py

# 运行指定模块
python3 dcu_performance_analyzer.py -c system pcie driver
```

## 安装要求

### 系统要求
- 操作系统: Linux (推荐 Kylin、CentOS、Ubuntu)
- 架构: x86_64
- 权限: 建议使用root权限运行以获得完整信息

### Python环境（可选）
如果直接使用Python版本：
- Python 3.7+
- 标准库（无额外依赖）


## 命令行选项

```
用法: dcu_analyzer [选项]

可选参数:
  -h, --help            显示帮助信息并退出
  -c {system,pcie,driver,logs,hardware,performance} [{...}]
                        指定要运行的检查模块
  -o OUTPUT, --output OUTPUT
                        指定输出目录
  -t LOG_AGE, --log-age LOG_AGE
                        收集日志的时间范围(小时) (默认: 24)
  -s LOG_SIZE, --log-size LOG_SIZE
                        日志文件大小限制(MB) (默认: 10)                        
  --auto-install-pkg    自动安装缺失的软件包
  -d, --debug           启用调试模式
  -q, --quiet           静默模式（仅显示错误）
  -v, --version         显示版本号并退出
```

## 检查模块

| 模块 | 描述 | 主要检查项 |
|------|------|------------|
| system | 系统信息 | CPU、内存、操作系统版本 |
| pcie | PCIe设备 | DCU设备识别、链路状态 |
| driver | 驱动状态 | 内核模块、驱动文件 |
| logs | 系统日志 | dmesg、系统日志文件 |
| hardware | 硬件信息 | 主板、BIOS、IPMI |

## 输出说明

### 目录结构
```
dcu_analysis/
├── logs/
│   └── analysis.log          # 详细日志文件
├── data/
|   ├── pcie_info             # pcie设备信息
│   ├── cpu_info.txt          # CPU信息
│   ├── memory_info.txt       # 内存信息
│   ├── os_info.txt           # OS系统信息
│   ├── dmesg.log             # 内核日志
│   ├── hardware.txt          # 硬件信息
|   ├── hy_smi_info.txt       # DCU状态信息
|   ├── pcie_dcu.log          # DCU拓扑信息
└── reports/
    ├── analysis_report.json  # JSON格式报告
    └── analysis_summary.txt  # 文本格式摘要
```

### 状态说明
- **PASS**: 检查通过，未发现问题
- **FAIL**: 检查失败，发现严重问题
- **WARNING**: 检查完成，发现潜在问题
- **INFO**: 信息收集，无状态判断


## 技术支持

如遇到问题，请提供以下信息：
1. 工具版本号 (`./dcu_analyzer -v`)
2. 操作系统版本
3. 完整的错误日志
4. 复现步骤

## 版本历史

### v1.0.0 (2026-03-06)
- ✅ 初始版本发布
- ✅ 集成6个核心检查模块
- ✅ 提供JSON和文本报告
- ✅ 支持数据打包导出
- ✅ 完整的测试套件
- ✅ 详细的用户文档

---

**最后更新**: 2026-03-06