news 2026/4/2 23:40:05

XFS inodegc blockgc 分析报告

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
XFS inodegc blockgc 分析报告

目录标题

  • XFS inodegc & blockgc 分析报告
    • 目录
    • 一、SysRQ 命令详解
      • 1.1 SysRQ 机制
      • 1.2 命令对照表
      • 1.3 w 和 t 命令详解
        • echo w - 转储阻塞任务
        • echo t - 转储所有线程状态
        • w 和 t 的区别与配合
      • 1.4 c 命令详解
      • 1.5 安全重启方案
    • 二、命令速查表
      • 2.1 XFS 相关命令
      • 2.2 故障排查命令
    • 三、XFS GC 线程详解
      • 3.1 当前系统的 XFS 线程
      • 3.2 线程功能对照表
      • 3.3 线程状态说明
    • 四、inodegc 和 blockgc 深度解析
      • 4.1 什么是 inodegc?
        • 工作流程
        • 为什么需要延迟删除?
        • 内核实现细节
      • 4.2 什么是 blockgc?
        • 工作流程
        • extent 回收机制
      • 4.3 inodegc 与 blockgc 的协作
      • 4.4 GC 线程异常处理
        • 正常状态 vs 异常状态
        • 常见问题
    • 五、当前环境状态
      • 5.1 系统信息
      • 5.2 XFS 挂载情况
      • 5.3 XFS 统计数据
      • 5.4 状态评估
    • 六、常见问题与处理
      • 6.1 删除文件后空间未释放
      • 6.2 Inode 使用率过高
      • 6.3 GC 线程卡死 (D 状态)
      • 6.4 系统整体卡顿
    • 七、参数调优
      • 7.1 VM 参数
      • 7.2 XFS 参数
    • 附录
      • A. 线程状态码
      • B. SysRQ 完整命令表
      • C. 快速诊断命令

XFS inodegc & blockgc 分析报告

环境: x.x.x (qfusion2)
生成时间: 2026-01-10
系统: openEuler 22.03 (LTS-SP1) / Kernel 5.10


目录

  • 一、SysRQ 命令详解
    • 1.1 SysRQ 机制
    • 1.2 命令对照表
    • 1.3 w 和 t 命令详解
    • 1.4 c 命令详解
    • 1.5 安全重启方案
  • 二、命令速查表
  • 三、XFS GC 线程详解
  • 四、inodegc 和 blockgc 深度解析
  • 五、当前环境状态
  • 六、常见问题与处理
  • 七、参数调优
  • 附录

一、SysRQ 命令详解

1.1 SysRQ 机制

SysRQ(System Request) 是 Linux 内核提供的一种低级别调试机制,通过/proc/sysrq-trigger接口触发。

# 启用 SysRQ (当前系统已禁用)echo1>/proc/sys/kernel/sysrq# 查看 SysRQ 状态cat/proc/sys/kernel/sysrq# SysRQ 值的含义:# 0 = 完全禁用# 1 = 启用所有功能# 2 = 启用控制台级别日志# 4 = 启用键盘控制 (Alt-SysRQ)# 8 = 启用调试转储# 16 = 启用同步命令# 32 = 启用重新挂载只读# 64 = 启用信号发送# 128 = 启用重启/关机# 256 = 启用所有功能

1.2 命令对照表

命令作用重启?危险级别输出位置
echo w转储阻塞任务控制台 + dmesg
echo t转储所有线程控制台 + dmesg
echo c触发 panic 重启crash dump
echo b立即重启-
echo s同步磁盘-
echo u重新挂载只读-

1.3 w 和 t 命令详解

echo w - 转储阻塞任务
echow>/proc/sysrq-trigger
项目说明
作用将处于阻塞状态的任务转储到控制台
目标状态D(Uninterruptible Sleep) 或I(Idle)
输出内容PID、CPU、命令、阻塞时长、阻塞函数
用途排查 I/O 卡死、NFS 挂起、磁盘故障等问题

输出示例:

Blocked tasks summary: task PC pid father f00 st-stack bash D0000 1234 1000 0 0x00000000 Call Trace: __schedule+0x123/0x456 schedule+0x78/0x9a io_schedule+0x12/0x34 wait_on_page_bit+0x56/0x78 ??

应用场景:

  • 系统响应缓慢,大量进程处于 D 状态
  • 怀疑磁盘 I/O 故障
  • NFS 挂载点卡死
  • 查找阻塞其他进程的罪魁祸首

echo t - 转储所有线程状态
echot>/proc/sysrq-trigger
项目说明
作用显示系统中所有线程的详细状态
输出内容PID、PPID、CPU、命令、状态(WCHAN)、栈跟踪
覆盖范围所有进程的所有线程
用途全面系统状态分析、死锁排查、性能分析

输出示例:

SysRq : Show State task PC pid ppid st-stack wchan systemd S 0000 1 0 0x00000000 [__sched_text_end] kworker/0:1 I 0000 2 0 0x00000000 [worker_thread] xfs-inodegc I 0000 2 0 0x00000000 [rescuer_thread] ...

应用场景:

  • 系统完全无响应,想知道谁在占用 CPU
  • 怀疑死锁,需要查看所有线程的等待链
  • 性能分析,查看热点函数
  • echo w配合,全面分析阻塞问题

w 和 t 的区别与配合
对比项echo wecho t
范围仅阻塞任务 (D/I 状态)所有线程
输出量少,聚焦问题多,全面分析
主要用途快速定位 I/O 问题深度系统分析
性能影响中 (线程多时影响大)

配合使用流程:

# 1. 启用 SysRQecho1>/proc/sys/kernel/sysrq# 2. 先用 w 快速查看是否有阻塞echow>/proc/sysrq-triggerdmesg|tail-100# 3. 如果发现问题,用 t 获取详细信息echot>/proc/sysrq-triggerdmesg|tail-500>/tmp/sysrq_dump.txt# 4. 分析转储文件grep-A10"xfs-inodegc"/tmp/sysrq_dump.txtgrep-A10"D state"/tmp/sysrq_dump.txt

1.4 c 命令详解

echoc>/proc/sysrq-trigger
项目说明
功能强制触发 kernel panic
效果系统立即重启
kdump如果配置了 kdump,会生成 crash dump (/var/crash/)
危险⚠️ 会造成业务中断,数据可能丢失
用途测试 kdump 配置、系统完全无响应时的最后手段

1.5 安全重启方案

优先级从高到低:

# ===== 方案1: 正常重启 (推荐) =====rebootshutdown-r now# ===== 方案2: 强制重启 (但仍会尝试同步文件系统) =====reboot-f systemctlreboot-i# ===== 方案3: SysRQ 安全重启 (顺序重要!) =====echo1>/proc/sys/kernel/sysrq# 启用 SysRQechou>/proc/sysrq-trigger# 重新挂载为只读echos>/proc/sysrq-trigger# 同步磁盘echob>/proc/sysrq-trigger# 立即重启# ===== 方案4: 绝对最后手段 =====echoc>/proc/sysrq-trigger# 触发 panic 重启# ⚠️ 仅用于测试 kdump 或系统完全无响应时

二、命令速查表

2.1 XFS 相关命令

# ========== 查看 XFS 线程 ==========ps-eLo pid,comm,state,wchan:32|egrep'xfs|inodegc|blockgc'# ========== 保存 XFS 线程状态到文件 ==========ps-eLo pid,comm,state,wchan:32|egrep'xfs|inodegc|blockgc'>/var/log/xfs_trigger.txt# ========== 查看 XFS 挂载情况 ==========mount|grepxfs# ========== 查看 Inode 使用情况 ==========df-i# 或指定目录df-i / /opt/qfusion# ========== 查看 XFS 统计信息 ==========cat/proc/fs/xfs/stat# ========== 查看 XFS 参数 ==========ls-la /proc/sys/fs/xfs/cat/proc/sys/fs/xfs/*# ========== 查看 XFS 文件系统详细状态 ==========xfs_io -c statfs / xfs_io -c statfs /opt/qfusion# ========== 查看系统内存状态 ==========cat/proc/meminfo|head-20free-h# ========== 查看 I/O 状态 ==========iostat -x15

2.2 故障排查命令

# ========== 当删除文件后空间未释放 ==========# 1. 检查是否有进程仍在使用已删除文件lsof|grepdeleted# 2. 手动触发 sync (让 GC 处理积压任务)sync# 3. 清理缓存 (谨慎使用)echo3>/proc/sys/vm/drop_caches# ========== 当 GC 线程异常时 ==========# 1. 查看 GC 线程是否卡死 (D状态)ps-eLo pid,comm,state,wchan:32|egrep'inodegc|blockgc'# 2. 查看底层存储 I/O 是否正常iostat -x15dmesg|tail-100# 3. 启用 SysRQ 并获取线程转储echo1>/proc/sys/kernel/sysrqechow>/proc/sysrq-trigger# 查看阻塞任务echot>/proc/sysrq-trigger# 查看所有线程dmesg|tail-500

三、XFS GC 线程详解

3.1 当前系统的 XFS 线程

PID PPID COMM STATE WCHAN 说明 ──────────────────────────────────────────────────────────────── 642 2 xfsalloc I rescuer_thread 空间分配线程 643 2 xfs_mru_cache I rescuer_thread 缓存管理 644 2 xfs-buf/dm-0 I rescuer_thread 缓冲区管理(根) 645 2 xfs-conv/dm-0 I rescuer_thread 格式转换(根) 646 2 xfs-reclaim/dm- I rescuer_thread Inode回收(根) 647 2 xfs-blockgc/dm- I rescuer_thread ★ 块GC(根分区) 648 2 xfs-inodegc/dm- I rescuer_thread ★ InodeGC(根分区) 649 2 xfs-log/dm-0 I rescuer_thread 日志写入(根) 650 2 xfs-cil/dm-0 I rescuer_thread 提交日志(根) 651 2 xfsaild/dm-0 S xfsaild 日志刷新(根) ──────────────────────────────────────────────────────────────── 798 2 xfs-buf/vdb I rescuer_thread 缓冲区管理(数据) 799 2 xfs-conv/vdb I rescuer_thread 格式转换(数据) 800 2 xfs-reclaim/vdb I rescuer_thread Inode回收(数据) 801 2 xfs-blockgc/vdb I rescuer_thread ★ 块GC(数据盘) 802 2 xfs-inodegc/vdb I rescuer_thread ★ InodeGC(数据盘) 804 2 xfs-log/vdb I rescuer_thread 日志写入(数据) 805 2 xfs-cil/vdb I rescuer_thread 提交日志(数据) 806 2 xfsaild/vdb S xfsaild 日志刷新(数据)

3.2 线程功能对照表

线程名称功能工作内容
xfs-inodegcInode 垃圾回收清理已删除文件的 inode 结构
xfs-blockgc块垃圾回收回收已删除文件的数据块
xfs-reclaimInode 内存回收释放 VFS 层 inode 缓存
xfs-buf缓冲区管理管理 XFS 缓冲区缓存
xfs-alloc空间分配管理空间分配 B+ 树
xfs-conv格式转换处理文件格式转换 (如 extent 转 btree)
xfs-log日志写入管理写日志缓冲区
xfs-cil提交日志处理 Committed Item List
xfsaild日志刷新刷新日志到磁盘

3.3 线程状态说明

状态名称说明GC 线程是否正常
IIdle空闲,等待工作✅ 正常
SSleeping可中断睡眠✅ 正常
DDisk Sleep不可中断睡眠❌ 异常,I/O 卡死
RRunning正在运行⚠️ 持续 R 可能死循环

四、inodegc 和 blockgc 深度解析

4.1 什么是 inodegc?

inodegc= XFS Inode Garbage Collection (Inode 垃圾回收)

工作流程
┌──────────────┐ │ unlink() │ 用户删除文件 └──────┬───────┘ │ ▼ ┌──────────────────────┐ │ 标记 inode 待删除 │ │ 加入 per-CPU 队列 │ ← 每个 CPU 独立队列,减少锁竞争 └──────┬───────────────┘ │ ▼ ┌──────────────────────┐ ┌──────────────────┐ │ xfs-inodegc 线程 │ ──▶ │ 检查 nlink=0? │ │ 异步处理队列 │ └────┬─────────────┘ └──────────────────────┘ │ 是 ────────┘ │ ▼ ┌──────────────────┐ │ 释放 inode │ │ 更新 inode B+树 │ └──────────────────┘
为什么需要延迟删除?
原因说明
性能避免 unlink() 同步等待磁盘 I/O
批量多个删除请求合并处理,提高效率
缓存先清理页缓存,再释放 inode,更高效
并发per-CPU 队列减少锁竞争,提升 SMP 性能
内核实现细节
内核版本: Linux 5.10+ 引入 per-CPU inodegc 机制 队列结构: ┌─────────┬─────────┬─────────┬─────────┐ │ CPU0 │ CPU1 │ CPU2 │ CPU3 │ │ Queue │ Queue │ Queue │ Queue │ └─────────┴─────────┴─────────┴─────────┘ │ │ │ │ ▼ ▼ ▼ ▼ inodegc inodegc inodegc inodegc thread-0 thread-1 thread-2 thread-3 触发条件: - 内存压力 (系统内存不足时) - 队列积压超过阈值 (默认 1000 个 inode) - 显式 sync 调用 - 周期性唤醒 (默认 5 秒)

4.2 什么是 blockgc?

blockgc= XFS Block Garbage Collection (数据块垃圾回收)

工作流程
┌──────────────┐ │ 文件被删除 │ └──────┬───────┘ │ ▼ ┌──────────────────────┐ │ 数据块标记为空闲 │ │ 加入 GC 处理队列 │ └──────┬───────────────┘ │ ▼ ┌──────────────────────┐ ┌──────────────────┐ │ xfs-blockgc 线程 │ ──▶ │ 扫描 extent 树 │ │ 异步处理队列 │ └────┬─────────────┘ └──────────────────────┘ │ ▼ ┌──────────────────┐ │ 释放数据块 │ │ 更新空闲 B+树 │ └──────────────────┘
extent 回收机制
XFS 文件存储结构: ┌──────────────────────────────┐ │ Inode │ │ ┌────┬────┬────┬────────┐ │ │ │ext1│ext2│ext3│ ... │ │ │ └────┴────┴────┴────────┘ │ └──────────────────────────────┘ │ │ │ ▼ ▼ ▼ Block Block Block (数据块) 删除文件时: 1. inode 被标记删除 (由 inodegc 处理) 2. extent 树被标记删除 (由 blockgc 处理) 3. 数据块被释放回空闲池

4.3 inodegc 与 blockgc 的协作

完整的文件删除流程: 用户空间 XFS 内核 存储 │ │ │ │ unlink("/file") │ │ ├─────────────────────▶│ │ │ │ │ │ │ 1. 标记 inode 删除 │ │ │ 2. 标记 extent 空闲 │ │ │ 3. 加入 per-CPU 队列 │ │ │ │ │ 返回成功 ◀──────────┤ │ │ │ │ │ │ ┌─────────────────┐ │ │ │ │ xfs-inodegc │ │ │ │ │ - 检查 nlink │ │ │ │ │ - 释放 inode │ │ │ │ │ - 更新 inode B+ │ │ │ │ └─────────────────┘ │ │ │ │ │ │ ┌─────────────────┐ │ │ │ │ xfs-blockgc │ │ │ │ │ - 扫描 extent │ │ │ │ │ - 释放数据块 │ │ │ │ │ - 更新空闲 B+ │ │ │ │ └─────────────────┘ │ │ │ │

4.4 GC 线程异常处理

正常状态 vs 异常状态
===== 正常状态 ===== xfs-inodegc/dm-0 I rescuer_thread ← 空闲,正常 xfs-blockgc/dm-0 I rescuer_thread ← 空闲,正常 ===== 异常状态 ===== xfs-inodegc/dm-0 D inode_wait ← 卡死,等待 I/O xfs-blockgc/dm-0 R block_gc_scan ← 持续运行,可能死循环 xfs-inodegc/dm-0 S wait_queue ← 等待某个条件
常见问题
问题现象原因解决方法
GC 线程阻塞状态为 D底层存储 I/O 超时检查存储设备
大量积压队列持续增长删除操作过于频繁等待或调整参数
内存泄漏内存持续增长GC 未正确释放重启节点
空间未释放删除后 df 不变GC 未触发或卡死sync 或检查 GC

五、当前环境状态

5.1 系统信息

项目
主机名qfusion2
内核5.10.0-136.12.0.86.oe2203sp1.x86_64
系统openEuler 22.03 (LTS-SP1)
总内存28 GB
可用内存15 GB
缓存7.2 GB
SysRQ0 (已禁用)

5.2 XFS 挂载情况

挂载点 设备 Inode使用率 ──────────────────────────────────────────────────────────────── / /dev/mapper/openeuler-root 1% (673424/104M) /opt/qfusion /dev/vdb 1% (19862/104M) 挂载选项: attr2, inode64, logbufs=8, logbsize=32k, noquota

5.3 XFS 统计数据

extent_alloc: 1,792,515 次分配操作 blk_map: 11,109,321 次块映射操作 directory ops: 9,651,180 次目录操作 inode ops: 213,174 次 inode 创建 buf ops: 2,725,514 次缓冲区操作

5.4 状态评估

检查项状态说明
xfs-inodegc/dm-0✅ 正常空闲等待 (I 状态)
xfs-blockgc/dm-0✅ 正常空闲等待 (I 状态)
xfs-inodegc/vdb✅ 正常空闲等待 (I 状态)
xfs-blockgc/vdb✅ 正常空闲等待 (I 状态)
Inode 使用率✅ 正常根分区 1%, 数据盘 1%
可用内存✅ 正常15 GB

结论: 当前系统的 XFS GC 线程全部处于空闲状态,运行正常。


六、常见问题与处理

6.1 删除文件后空间未释放

# 原因1: 有进程仍在使用已删除文件lsof|grepdeletedkill-9<PID># 原因2: GC 队列积压,还没来得及处理sync# 触发 GC 处理sleep5df-h# 再次检查# 原因3: GC 线程异常ps-eLo pid,comm,state,wchan:32|egrep'inodegc|blockgc'# 如果状态是 D,说明底层 I/O 卡死

6.2 Inode 使用率过高

# 1. 查看 Inode 使用情况df-i# 2. 查找小文件过多的目录foriin/*;doecho$i;find$i-xdev2>/dev/null|wc-l;done# 3. 清理临时文件find/tmp -type f -atime +7 -deletefind/var/tmp -type f -atime +30 -delete# 4. 清理日志文件journalctl --vacuum-time=7d

6.3 GC 线程卡死 (D 状态)

# 1. 检查底层存储 I/Oiostat -x15dmesg|grep-i'xfs\|error\|fail'# 2. 启用 SysRQ 并获取线程转储echo1>/proc/sys/kernel/sysrqechow>/proc/sysrq-trigger# 查看阻塞任务echot>/proc/sysrq-trigger# 查看所有线程dmesg|tail-500# 3. 如果存储硬件故障,需要:# - 更换故障磁盘# - 或重启节点 (最后手段)

6.4 系统整体卡顿

# 1. 检查 GC 线程状态ps-eLo pid,comm,state,wchan:32|egrep'inodegc|blockgc'# 2. 调整 VM 参数,提高回收积极性echo150>/proc/sys/vm/vfs_cache_pressure# 3. 查看系统负载uptimetop

七、参数调优

7.1 VM 参数

# vfs_cache_pressure: 控制内核回收 dentry/inode 缓存的积极性# 默认: 100, 范围: 1-500# 越高越激进回收,越低越倾向于保留缓存echo150>/proc/sys/vm/vfs_cache_pressure# 永久生效echo"vm.vfs_cache_pressure = 150">>/etc/sysctl.conf sysctl -p

7.2 XFS 参数

# 查看可用参数ls/proc/sys/fs/xfs/# 清除 XFS 统计计数器echo1>/proc/sys/fs/xfs/stats_clear# speculative_prealloc_lifetime: 预分配保留时间 (默认: 300秒)# 影响: 延迟释放预分配的空间cat/proc/sys/fs/xfs/speculative_prealloc_lifetime# XFS 错误级别 (0=继续, 1=只打印警告, 2=只打印一次, 3=panic)cat/proc/sys/fs/xfs/error_level

附录

A. 线程状态码

代码名称说明GC 线程
RRunning正在运行或可运行持续 R 可能异常
SSleeping可中断睡眠正常
DDisk Sleep不可中断睡眠 (等待 I/O)❌ 异常
IIdle空闲 (内核线程)✅ 正常
ZZombie僵尸进程-
TStopped已停止-
XDead已死亡-

B. SysRQ 完整命令表

命令功能危险
echo 0禁用 SysRQ-
echo 1启用所有 SysRQ 功能-
echo b立即重启
echo c触发 kernel panic 重启
echo d显示所有锁状态
echo e向所有进程发送 SIGTERM
echo f调用 oom_kill
echo g用于 kgdb 调试
echo h显示帮助
echo i向所有进程发送 SIGKILL
echo k向所有进程发送 SIGKILL (安全终端)
echo l显示所有 CPU 栈
echo m显示内存信息
echo n用于 RT 调度
echo o关机
echo p显示寄存器和标志位
echo q显示定时器信息
echo r关闭键盘原始模式
echo s同步磁盘
echo t显示所有线程状态
echo u重新挂载为只读
echo v显示更详细的内核信息
echo w显示阻塞任务
echo x用于 xmon 调试

C. 快速诊断命令

# 一键诊断脚本cat>/tmp/xfs_diag.sh<<'EOF' #!/bin/bash echo "=== XFS GC 线程状态 ===" ps -eLo pid,comm,state,wchan:32 | egrep 'inodegc|blockgc' echo "" echo "=== Inode 使用情况 ===" df -i | head -5 echo "" echo "=== XFS 挂载情况 ===" mount | grep xfs | head -5 echo "" echo "=== 内存使用情况 ===" free -h echo "" echo "=== I/O 状态 ===" iostat -x 1 1 | grep -v "^$" EOFchmod+x /tmp/xfs_diag.sh /tmp/xfs_diag.sh

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/27 17:36:25

Qwen3-VL模型监控方案:实时显存查看,避免资源浪费

Qwen3-VL模型监控方案&#xff1a;实时显存查看&#xff0c;避免资源浪费 1. 为什么需要显存监控&#xff1f; 作为算法工程师&#xff0c;在调试Qwen3-VL这类多模态大模型时&#xff0c;最常遇到的"拦路虎"就是显存溢出&#xff08;OOM&#xff09;。想象一下&…

作者头像 李华
网站建设 2026/3/30 1:34:31

视觉模型效果对比:Qwen3-VL云端实测,数据说话

视觉模型效果对比&#xff1a;Qwen3-VL云端实测&#xff0c;数据说话 引言&#xff1a;为什么需要视觉大模型&#xff1f; 在AI技术快速发展的今天&#xff0c;视觉理解能力已经成为许多企业和开发者的刚需。想象一下&#xff0c;如果你有一个助手&#xff0c;不仅能听懂你的…

作者头像 李华
网站建设 2026/4/1 20:15:57

Qwen3-VL智能客服方案:免运维云端测试,1小时见效果

Qwen3-VL智能客服方案&#xff1a;免运维云端测试&#xff0c;1小时见效果 引言&#xff1a;电商客服的新选择 作为电商店主&#xff0c;你是否经常遇到这样的困扰&#xff1a;顾客发来商品图片询问细节&#xff0c;客服需要反复查看商品详情页才能回答&#xff1f;或者遇到海…

作者头像 李华
网站建设 2026/3/16 23:51:03

Qwen3-VL网页版替代方案:自建云端镜像,1小时1块更自由

Qwen3-VL网页版替代方案&#xff1a;自建云端镜像&#xff0c;1小时1块更自由 引言 作为一名经常使用Qwen3-VL多模态模型的开发者&#xff0c;你是否遇到过这样的困扰&#xff1a;网页版虽然方便&#xff0c;但上传的敏感图片可能被记录&#xff1b;向公司申请GPU服务器又流程…

作者头像 李华
网站建设 2026/3/31 15:56:52

Qwen3-VL自动化报告生成:1小时处理1000张医学影像

Qwen3-VL自动化报告生成&#xff1a;1小时处理1000张医学影像 1. 为什么医疗影像分析需要Qwen3-VL&#xff1f; 医疗科研团队经常面临CT/MRI影像分析效率低下的问题。传统工作站处理1000张影像可能需要8-10小时&#xff0c;而Qwen3-VL多模态大模型结合云端GPU资源&#xff0c…

作者头像 李华
网站建设 2026/4/1 13:37:16

Node.js 用V8 profiler分析性能

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 Node.js性能优化的隐形引擎&#xff1a;V8 Profiler的深度解析与实战应用目录Node.js性能优化的隐形引擎&#xff1a;V8 Profile…

作者头像 李华