提交 2c4596ea authored 作者: 陈泽健's avatar 陈泽健

fix(服务自检): 修复资源检测日志乱码并产出问题处理/计划执行文档

- ServerResourceAnalysis.psm1 第 8/9/10/11 节(inode 使用率/只读挂载/TCP 状态分布/僵尸进程/TOP5 进程)24 处乱码中文按行号精确重建,文案对齐 sh 版 check_server_health.sh 与 Report.psm1
- DNSCheck.psm1 文件尾"导出模块函数"注释乱码修复(此前会话改过工作区未提交)
- 根因:UTF-8 中文被误按 GBK 解码后"烘焙"进源码(含 U+FFFD 不可逆,字节级自动复原有损)
- 验证:PowerShell 解析器 err=0、字节级全量乱码审计 25 处→0、桌面 SHA256/diff 一致
- 新增问题处理 + 计划执行双文档(Docs/PRD/服务自检/问题修复/)
- HANDOFF 更新:表格 #28-32、验证结果块、阻塞行、下一步 #9-10、踩坑警示 #10、给接手者
Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
上级 5c4da5de
...@@ -292,7 +292,7 @@ function Test-DNSResolution { ...@@ -292,7 +292,7 @@ function Test-DNSResolution {
#endregion #endregion
# ============================================================================== # ==============================================================================
# 瀵煎嚭妯″潡鍑芥暟 # 导出模块函数
# ============================================================================== # ==============================================================================
Export-ModuleMember -Function @( Export-ModuleMember -Function @(
'Test-DNSResolution' 'Test-DNSResolution'
......
...@@ -891,9 +891,9 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct" ...@@ -891,9 +891,9 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct"
#region 8. inode 浣跨敤鐜囨��娴� (PRD 2.5) #region 8. inode 使用率检测 (PRD 2.5)
Write-Log -Level "INFO" -Message "妫�娴� inode 浣跨敤鐜�..." Write-Log -Level "INFO" -Message "检测 inode 使用率..."
$inodeCmd = "df -i | grep -E '^/dev/' | awk '{print `$1,`$2,`$3,`$4,`$5,`$6}'" $inodeCmd = "df -i | grep -E '^/dev/' | awk '{print `$1,`$2,`$3,`$4,`$5,`$6}'"
...@@ -927,7 +927,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct" ...@@ -927,7 +927,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct"
# 杩囨护 tmpfs/overlay 绛夎櫄鎷熸枃浠剁郴缁� # 过滤 tmpfs/overlay 等虚拟文件系统
if ($device -match 'tmpfs|overlay') { continue } if ($device -match 'tmpfs|overlay') { continue }
...@@ -937,7 +937,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct" ...@@ -937,7 +937,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct"
$inodeStatus = if ($iPercentNum -lt 70) { "姝e父" } elseif ($iPercentNum -lt 90) { "璀﹀憡" } else { "寮傚父" } $inodeStatus = if ($iPercentNum -lt 70) { "正常" } elseif ($iPercentNum -lt 90) { "警告" } else { "异常" }
$inodeColor = if ($iPercentNum -lt 70) { "SUCCESS" } elseif ($iPercentNum -lt 90) { "WARN" } else { "ERROR" } $inodeColor = if ($iPercentNum -lt 70) { "SUCCESS" } elseif ($iPercentNum -lt 90) { "WARN" } else { "ERROR" }
...@@ -971,13 +971,13 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct" ...@@ -971,13 +971,13 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct"
#endregion 8. inode 浣跨敤鐜囨��娴� #endregion 8. inode 使用率检测
#region 9. 鍙�璇绘寕杞芥��娴� (PRD 2.5) #region 9. 只读挂载检测 (PRD 2.5)
Write-Log -Level "INFO" -Message "妫�娴嬪彧璇绘寕杞�..." Write-Log -Level "INFO" -Message "检测只读挂载..."
$roCmd = "mount | grep ' ro[, ]' | grep -vE 'proc|sys|dev|cgroup|tmpfs' || echo 'NO_RO'" $roCmd = "mount | grep ' ro[, ]' | grep -vE 'proc|sys|dev|cgroup|tmpfs' || echo 'NO_RO'"
...@@ -993,7 +993,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct" ...@@ -993,7 +993,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct"
if ($roOutput -match 'NO_RO') { if ($roOutput -match 'NO_RO') {
Write-Log -Level "SUCCESS" -Message " 鏃犳剰澶栧彧璇绘寕杞�" Write-Log -Level "SUCCESS" -Message " 无意外只读挂载"
} else { } else {
...@@ -1001,7 +1001,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct" ...@@ -1001,7 +1001,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct"
foreach ($line in $roLines) { foreach ($line in $roLines) {
Write-Log -Level "WARN" -Message " 鍙戠幇鍙�璇绘寕杞�: $line" Write-Log -Level "WARN" -Message " 发现只读挂载: $line"
$roList += $line $roList += $line
...@@ -1015,13 +1015,13 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct" ...@@ -1015,13 +1015,13 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct"
#endregion 9. 鍙�璇绘寕杞芥��娴� #endregion 9. 只读挂载检测
#region 10. TCP 鐘舵�佸垎甯冩��娴� (PRD 2.5) #region 10. TCP 状态分布检测 (PRD 2.5)
Write-Log -Level "INFO" -Message "妫�娴� TCP 鐘舵�佸垎甯�..." Write-Log -Level "INFO" -Message "检测 TCP 状态分布..."
$tcpCmd = "netstat -ant 2>/dev/null | awk '{print `$6}' | sort | uniq -c | sort -rn" $tcpCmd = "netstat -ant 2>/dev/null | awk '{print `$6}' | sort | uniq -c | sort -rn"
...@@ -1051,7 +1051,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct" ...@@ -1051,7 +1051,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct"
# 妫�鏌ュ紓甯哥姸鎬� # 检查异常状态
$closeWait = if ($tcpStatus['CLOSE_WAIT']) { $tcpStatus['CLOSE_WAIT'] } else { 0 } $closeWait = if ($tcpStatus['CLOSE_WAIT']) { $tcpStatus['CLOSE_WAIT'] } else { 0 }
...@@ -1067,11 +1067,11 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct" ...@@ -1067,11 +1067,11 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct"
if ($tcpWarning) { if ($tcpWarning) {
Write-Log -Level "WARN" -Message " TCP鐘舵�佸紓甯�: $tcpWarning" Write-Log -Level "WARN" -Message " TCP状态异常: $tcpWarning"
} else { } else {
Write-Log -Level "SUCCESS" -Message " TCP鐘舵�佹�e父: CLOSE_WAIT=$closeWait TIME_WAIT=$timeWait" Write-Log -Level "SUCCESS" -Message " TCP状态正常: CLOSE_WAIT=$closeWait TIME_WAIT=$timeWait"
} }
...@@ -1081,13 +1081,13 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct" ...@@ -1081,13 +1081,13 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct"
#endregion 10. TCP 鐘舵�佸垎甯冩��娴� #endregion 10. TCP 状态分布检测
#region 11. 鍍靛案杩涚▼鍜� TOP5 妫�娴� (PRD 2.5) #region 11. 僵尸进程和 TOP5 检测 (PRD 2.5)
Write-Log -Level "INFO" -Message "妫�娴嬪兊灏歌繘绋�..." Write-Log -Level "INFO" -Message "检测僵尸进程..."
$zombieCmd = "ps aux | awk '`$8~/Z/' | grep -v grep || echo 'NO_ZOMBIE'" $zombieCmd = "ps aux | awk '`$8~/Z/' | grep -v grep || echo 'NO_ZOMBIE'"
...@@ -1105,7 +1105,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct" ...@@ -1105,7 +1105,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct"
if ($zOutput -match 'NO_ZOMBIE') { if ($zOutput -match 'NO_ZOMBIE') {
Write-Log -Level "SUCCESS" -Message " 鏃犲兊灏歌繘绋�" Write-Log -Level "SUCCESS" -Message " 无僵尸进程"
} else { } else {
...@@ -1113,7 +1113,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct" ...@@ -1113,7 +1113,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct"
$zombieCount = $zLines.Count $zombieCount = $zLines.Count
Write-Log -Level "WARN" -Message " 鍙戠幇 $zombieCount 涓�鍍靛案杩涚▼" Write-Log -Level "WARN" -Message " 发现 $zombieCount 个僵尸进程"
$zombieList = $zLines $zombieList = $zLines
...@@ -1125,9 +1125,9 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct" ...@@ -1125,9 +1125,9 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct"
# TOP5 杩涚▼锛堟寜鍐呭瓨鍜孋PU锛� # TOP5 进程(按内存和CPU)
Write-Log -Level "INFO" -Message "鑾峰彇 TOP5 杩涚▼..." Write-Log -Level "INFO" -Message "获取 TOP5 进程..."
$topCmd = "ps aux --sort=-%mem | head -n 6 | awk '{print `$1,`$2,`$3,`$4,`$11}'" $topCmd = "ps aux --sort=-%mem | head -n 6 | awk '{print `$1,`$2,`$3,`$4,`$11}'"
...@@ -1147,7 +1147,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct" ...@@ -1147,7 +1147,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct"
} }
Write-Log -Level "INFO" -Message " TOP5杩涚▼锛堟寜鍐呭瓨锛�:" Write-Log -Level "INFO" -Message " TOP5进程(按内存):"
foreach ($p in $topProcesses | Select-Object -Skip 1) { foreach ($p in $topProcesses | Select-Object -Skip 1) {
...@@ -1161,7 +1161,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct" ...@@ -1161,7 +1161,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct"
#endregion 11. 鍍靛案杩涚▼鍜� TOP5 妫�娴� #endregion 11. 僵尸进程和 TOP5 检测
...@@ -1177,7 +1177,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct" ...@@ -1177,7 +1177,7 @@ printf "%d,%d,%d\n" "$tot_gb" "$use_gb" "$pct"
# ============================================================================== # ==============================================================================
# 瀵煎嚭妯″潡鍑芥暟 # 导出模块函数
# ============================================================================== # ==============================================================================
......
# _PRD_资源检测日志乱码_问题处理
> 来源:
- `AuxiliaryTool/ScriptTool/ServiceSelfInspection/modules/ServerResourceAnalysis.psm1`
- `AuxiliaryTool/ScriptTool/ServiceSelfInspection/modules/DNSCheck.psm1`
## 1. 背景与目标
### 1.1 背景
执行主运行脚本后,资源检测(inode 使用率、只读挂载、TCP 状态分布、僵尸进程、TOP5 进程)日志输出存在中文乱码,例如:
```
[INFO] 妫�娴� inode 浣跨敤鐜�...
[INFO] 妫�娴� TCP 鐘舵�佸垎甯�...
[SUCCESS] 鏃犳剰澶栧彧璇绘寕杞�
[SUCCESS] 鏃犲兊灏歌繘绋�
```
### 1.2 目标
彻底消除资源检测日志中的中文乱码,恢复正确的检测提示文案;同时修复同批次产生的其他模块注释乱码。
---
## 2. 问题报错信息
### 2.1 问题一:inode / TCP / 僵尸进程 / TOP5 检测日志乱码
```
[INFO] 妫�娴� inode 浣跨敤鐜�...
[WARN] 鍙戠幇鍙�璇绘寕杞�: xxx
[INFO] 妫�娴� TCP 鐘舵�佸垎甯�...
[SUCCESS] TCP鐘舵�佹�e父: CLOSE_WAIT=0 TIME_WAIT=10
[INFO] 妫�娴嬪兊灏歌繘绋�...
[SUCCESS] 鏃犲兊灏歌繘绋�
[INFO] 鑾峰彇 TOP5 杩涚▼...
```
### 2.2 问题二:模块文件末尾导出注释乱码
```
# 瀵煎嚭妯″潡鍑芥暟
```
---
## 3. 问题解决分析
### 3.1 问题根因
#### 根因:UTF-8 中文被误按 GBK 解码后再次以 UTF-8 存回,乱码已"烘焙"进源码文件
排查过程(按照排查六步法):
1. **固化现象**:乱码只出现在资源检测(第 8/9/10/11 节)相关日志与模块尾部注释;Shell 版本脚本(`check_server_health.sh`)输出正常。
2. **切分排查域**
- 终端/显示编码?—— 同一终端下部分中文正常(如"检测系统负载"),排除显示层。
- 传输层(SSH/控制台)?—— 正常与乱码混在同一份输出里,排除传输层。
- **源码文件本身**?—— 命中。
3. **最小验证(字节级探测)**
- `ServerResourceAnalysis.psm1`:UTF-8 with BOM,严格 UTF-8 解码**通过**(所以编辑器不报编码错误);
- 正确的"检测系统负载"(第 7 节)以 UTF-8/GBK 字节形式均能找到(正常中文);
- 但"检测 inode 使用率 / 检测只读挂载 / 检测 TCP 状态分布 / 检测僵尸进程 / 获取 TOP5 进程"等**正确中文在两种编码下均找不到**,而"姝e父 / 璀﹀憡 / 寮傚父"等乱码字以 UTF-8 字节存在。
4. **定位根因**:这些中文曾以 UTF-8 字节被 GBK 解码成乱码,乱码字符又以 UTF-8 重新存回源码。该过程产生不可逆的 U+FFFD 替换字符,导致**字节级自动复原有损**(按 GBK 反编码回滚在遇到 U+FFFD 处直接失败)。
5. **影响范围全量审计**:编写字节级审计脚本扫描 `modules/` 全部 `.psm1/.ps1`,确认乱码点共 25 处:
- `ServerResourceAnalysis.psm1`:第 8/9/10/11 节(24 处,覆盖 `#region``Write-Log` 消息、状态串、注释);
- `DNSCheck.psm1`:文件尾"导出模块函数"注释(1 处);
- `MiddlewareCheck.psm1` 第 227 行命中为**误报**(该行含正常汉字"父",非乱码)。
> 结论:乱码不是显示/传输问题,而是**乱码文本被写进了源码文件本身**。这也解释了为何"改了编码、换了终端"都无法消除。
### 3.2 涉及文件
| 文件 | 位置 | 状态 |
|------|------|------|
| ServerResourceAnalysis.psm1 | modules/ServerResourceAnalysis.psm1 | 已修复(24 处) |
| DNSCheck.psm1 | modules/DNSCheck.psm1 | 已修复(1 处) |
### 3.3 代码验证
修复后验证:
- 保留 UTF-8 with BOM、CRLF 行尾(与仓库其他模块一致);
- 逐行精确重建正确中文,文案对齐 Shell 版本(`check_server_health.sh`)与 `Report.psm1``### inode 使用率`);
- PowerShell 解析器语法校验:`ServerResourceAnalysis.psm1 err=0``DNSCheck.psm1 err=0`
- 全量乱码审计脚本复跑:25 处乱码点全部消除,仅剩 MiddlewareCheck.psm1 第 227 行正常汉字误报;
- 说明:DNSCheck.psm1 文件尾乱码此前会话曾修改工作区文件但**未提交**(git diff 确认 HEAD 仍是乱码),本次纳入一并提交推送;
- 修复文件已同步至桌面运行目录,SHA256 一致,`diff -rq` 无差异。
### 3.4 解决方案
#### 修复 1:ServerResourceAnalysis.psm1 第 8/9/10/11 节乱码重建
由于乱码含 U+FFFD,无法字节级自动还原,按行号精确重建为正确中文(文案与 `check_server_health.sh` / `Report.psm1` 对齐):
| 节 | 修复前(乱码) | 修复后(正确) |
|------|----------------|----------------|
| 8 inode | `妫�娴� inode 浣跨敤鐜�...` / `姝e父 / 璀﹀憡 / 寮傚父` | `检测 inode 使用率...` / `正常 / 警告 / 异常` |
| 9 只读挂载 | `鏃犳剰澶栧彧璇绘寕杞�` / `鍙戠幇鍙�璇绘寕杞�` | `无意外只读挂载` / `发现只读挂载` |
| 10 TCP | `妫�娴� TCP 鐘舵�佸垎甯�` / `TCP鐘舵�佸紓甯�` | `检测 TCP 状态分布...` / `TCP状态异常` |
| 11 僵尸进程+TOP5 | `鍍靛案杩涚▼鍜� TOP5` / `鏃犲兊灏歌繘绋�` / `鑾峰彇 TOP5 杩涚▼` | `僵尸进程和 TOP5 检测` / `无僵尸进程` / `获取 TOP5 进程...` |
同时修正同节内受污染的 `#region` / `#endregion` / 注释行。
#### 修复 2:DNSCheck.psm1 文件尾导出注释
```
# 修复前: # 瀵煎嚭妯″潡鍑芥暟
# 修复后: # 导出模块函数
```
### 3.5 预防措施
1. **文件编码规范**`.psm1/.ps1` 一律 UTF-8 with BOM,避免在 GBK 控制台下被误写;
2. **改码铁律**:批量"转码/改编码"操作前后用字节级校验(BOM + 严格 UTF-8 + GBK 双编码检索关键中文),确认目标中文确实可检索到,防止"转了个寂寞";
3. **新增文案对齐**:PowerShell 模块与 Shell 版本(`check_server_health.sh` / `lib/shell/*.sh`)同一检测项的提示文案保持一致,便于交叉核对与排错;
4. **工具化审计**:后续可复用本次字节级审计脚本,纳入提交流程,杜绝同类乱码再次入库。
### 3.6 问题状态
| 状态 | 说明 |
|------|------|
| 问题类型 | 源码文件中文乱码(UTF-8 被误按 GBK 解码后烘焙进文件) |
| 根本原因 | 文件编码转换不当,乱码不可逆写入源码 |
| 解决状态 | ✅ 已修复 |
| 修复日期 | 2026-09-01 |
---
### 规范文档
- 代码规范: `Docs/PRD/01规范文档/_PRD_规范文档_代码规范.md`
- 问题总结: `Docs/PRD/01规范文档/_PRD_问题总结_记录文档.md`
- 方法总结: `Docs/PRD/01规范文档/_PRD_方法总结_记录文档.md`
- 文档规范: `Docs/PRD/01规范文档/_PRD_规范文档_文档规范.md`
- 测试规范: `Docs/PRD/01规范文档/_PRD_规范文档_测试规范.md`
---
*文档结束*
# 计划执行文档 - 资源检测日志乱码问题处理
## 执行时间
- 创建时间:2026-09-01
- 更新时间:2026-09-01
- 执行状态:✅ 已执行完成
---
## 问题概述
执行主运行脚本后,资源检测(inode 使用率、只读挂载、TCP 状态分布、僵尸进程、TOP5 进程)日志输出中文乱码;另有模块文件尾部导出注释乱码。
**主要问题:**
1. 日志输出中文乱码:`妫�娴� inode 浣跨敤鐜�...``TCP鐘舵�佸垎甯�``鏃犲兊灏歌繘绋�`
2. 模块文件末尾注释乱码:`# 瀵煎嚭妯″潡鍑芥暟`
---
## 执行步骤
### 步骤 1:问题定位
- [x] 读取 PRD 问题文档 / 确认现象
- [x] 分析报错信息(截取原始日志原文)
- [x] 识别问题域:乱码仅出现在资源检测(第 8/9/10/11 节)与模块尾部注释;Shell 版本脚本输出正常
### 步骤 2:根因分析
#### 根因:UTF-8 中文被误按 GBK 解码后再次以 UTF-8 存回,乱码"烘焙"进源码文件
**关键证据:**
1. 文件为 UTF-8 with BOM,严格 UTF-8 解码**通过**(编辑器不报错);
2. 正确的"检测系统负载"(第 7 节)在 UTF-8/GBK 双编码下均能找到,而同文件第 8/9/10/11 节的正确中文**在两种编码下均找不到**
3. 乱码含不可逆的 U+FFFD 替换字符,字节级自动复原有损(按 GBK 反编码在 U+FFFD 处失败);
4. 全量字节级审计确认乱码点共 25 处:
- `ServerResourceAnalysis.psm1`:第 8/9/10/11 节,24 处
- `DNSCheck.psm1`:文件尾"导出模块函数"注释,1 处
- `MiddlewareCheck.psm1` 第 227 行为**误报**(正常汉字"父")
### 步骤 3:解决方案
1. **不可自动还原**(U+FFFD 有损):按行号精确重建正确中文,文案对齐 Shell 版本(`check_server_health.sh`)与 `Report.psm1`
2. **保留技术属性**:UTF-8 with BOM + CRLF 行尾;
3. **工具化审计**:编写字节级审计脚本(BOM + 严格 UTF-8 + 双编码检索)扫描全部 `.psm1/.ps1`,作为修复前后对照依据。
### 步骤 4:修复执行
- [x] 重建 ServerResourceAnalysis.psm1 第 8/9/10/11 节 24 处乱码(`#region``Write-Log` 消息、状态串、注释)
- [x] 重建 DNSCheck.psm1 文件尾"导出模块函数"注释(1 处;此前会话改过工作区但未提交,git diff 确认 HEAD 仍为乱码,本次一并修复提交)
- [x] PowerShell 解析器语法校验(err=0)
- [x] 全量乱码审计复跑清零
- [x] 同步至桌面运行目录并复核 SHA256 / diff
---
## 执行结果
### 已修复内容
| 位置 | 修复前(乱码) | 修复后(正确) |
|------|----------------|----------------|
| ServerResourceAnalysis.psm1 第 8 节 | `#region 8. inode 浣跨敤鐜囨��娴�` | `#region 8. inode 使用率检测` |
| 同上 消息 | `妫�娴� inode 浣跨敤鐜�...` | `检测 inode 使用率...` |
| 同上 状态 | `姝e父 / 璀﹀憡 / 寮傚父` | `正常 / 警告 / 异常` |
| 第 9 节 成功消息 | `鏃犳剰澶栧彧璇绘寕杞�` | `无意外只读挂载` |
| 第 9 节 警告消息 | `鍙戠幇鍙�璇绘寕杞�` | `发现只读挂载` |
| 第 10 节 region/消息 | `TCP 鐘舵�佸垎甯冩��娴�` / `妫�娴� TCP 鐘舵�佸垎甯�` | `TCP 状态分布检测` / `检测 TCP 状态分布...` |
| 第 10 节 状态消息 | `TCP鐘舵�佸紓甯�` / `TCP鐘舵�佹�e父` | `TCP状态异常` / `TCP状态正常` |
| 第 11 节 region/消息 | `鍍靛案杩涚▼鍜� TOP5 妫�娴�` / `妫�娴嬪兊灏歌繘绋�` | `僵尸进程和 TOP5 检测` / `检测僵尸进程...` |
| 第 11 节 成功/警告/TOP5 | `鏃犲兊灏歌繘绋�` / `鍙戠幇 {n} 涓�鍍靛案杩涚▼` / `鑾峰彇 TOP5 杩涚▼` | `无僵尸进程` / `发现 {n} 个僵尸进程` / `获取 TOP5 进程...` |
| DNSCheck.psm1 文件尾 | `# 瀵煎嚭妯″潡鍑芥暟` | `# 导出模块函数`(此前会话改过工作区未提交,本次一并提交) |
### 验证结果
- ✅ PowerShell 解析器语法校验:`ServerResourceAnalysis.psm1 err=0``DNSCheck.psm1 err=0``MiddlewareCheck.psm1 err=0`
- ✅ 全量乱码审计脚本复跑:25 处乱码点全部消除,仅剩 MiddlewareCheck.psm1 第 227 行正常汉字误报
- ✅ 修复文件已同步至桌面运行目录 `C:\Users\29194\Desktop\Sever_health_check\modules\`,SHA256 与仓库一致,`diff -rq` 无差异
---
## 附录:关键代码位置
| 问题 | 行号 | 当前错误代码(乱码) | 正确代码 |
|------|------|----------------------|----------|
| inode region | 894 | `#region 8. inode 浣跨敤鐜囨��娴�` | `#region 8. inode 使用率检测 (PRD 2.5)` |
| inode 消息 | 896 | `Write-Log ... "妫�娴� inode 浣跨敤鐜�..."` | `Write-Log ... "检测 inode 使用率..."` |
| inode 状态 | 940 | `"姝e父" ... "璀﹀憡" ... "寮傚父"` | `"正常" ... "警告" ... "异常"` |
| 只读挂载 成功 | 996 | `" 鏃犳剰澶栧彧璇绘寕杞�"` | `" 无意外只读挂载"` |
| 只读挂载 警告 | 1004 | `" 鍙戠幇鍙�璇绘寕杞�: $line"` | `" 发现只读挂载: $line"` |
| TCP region | 1022 | `#region 10. TCP 鐘舵�佸垎甯冩��娴�` | `#region 10. TCP 状态分布检测 (PRD 2.5)` |
| TCP 消息 | 1024 | `"妫�娴� TCP 鐘舵�佸垎甯�..."` | `"检测 TCP 状态分布..."` |
| TCP 异常 | 1070 | `" TCP鐘舵�佸紓甯�: $tcpWarning"` | `" TCP状态异常: $tcpWarning"` |
| TCP 正常 | 1074 | `" TCP鐘舵�佹�e父: CLOSE_WAIT=..."` | `" TCP状态正常: CLOSE_WAIT=..."` |
| 僵尸 region | 1088 | `#region 11. 鍍靛案杩涚▼鍜� TOP5 妫�娴�` | `#region 11. 僵尸进程和 TOP5 检测 (PRD 2.5)` |
| 僵尸 消息 | 1090 | `"妫�娴嬪兊灏歌繘绋�..."` | `"检测僵尸进程..."` |
| 僵尸 成功 | 1108 | `" 鏃犲兊灏歌繘绋�"` | `" 无僵尸进程"` |
| 僵尸 警告 | 1116 | `" 鍙戠幇 $zombieCount 涓�鍍靛案杩涚▼"` | `" 发现 $zombieCount 个僵尸进程"` |
| TOP5 注释/消息 | 1128/1150 | `# TOP5 杩涚▼锛堟寜鍐呭瓨鍜孋PU锛�` / `" TOP5杩涚▼锛堟寜鍐呭瓨锛�:"` | `# TOP5 进程(按内存和CPU)` / `" TOP5进程(按内存):"` |
| DNSCheck 导出 | 295 | `# 瀵煎嚭妯″潡鍑芥暟` | `# 导出模块函数` |
---
## 问题状态
| 状态 | 说明 |
|------|------|
| 问题类型 | 源码文件中文乱码(UTF-8 被误按 GBK 解码后烘焙进文件) |
| 影响范围 | 资源检测日志输出、模块导出注释 |
| 当前状态 | ✅ 已修复 |
| 修复日期 | 2026-09-01 |
---
*文档结束*
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论