x86 Linux环境下Nx多包项目任务CPU与内存统计图谱生成问询
解决Nx项目多进程CPU/内存使用图谱生成问题
一、用top追踪Nx相关进程组
top完全支持处理子进程,你可以通过以下方式统计Nx任务的总资源占用:
- 启动top后按
H键,显示所有线程及子进程 - 按
O键输入COMMAND回车,按命令名称排序,快速定位Nx相关的node进程 - 结合
awk批量计算总占用:top -b -n 1 | grep -E '(nx|node)' | awk '{cpu+=$9; mem+=$10} END {print "总CPU占用: " cpu "% 总内存占用: " mem "%"}'-b启用批处理模式,-n 1仅输出一次结果,grep过滤Nx相关进程,awk累加CPU和内存百分比。
二、用perf分析Nx进程树的资源使用
perf支持追踪进程树的所有子进程,可用于生成资源使用图谱:
CPU使用统计与火焰图生成
先获取Nx根进程PID,再追踪其所有子进程:perf record -g -p $(pgrep -f "nx.*serve|build") -- sleep 60-g记录调用栈,-p指定根进程PID,sleep 60表示追踪60秒。之后生成火焰图:perf script | stackcollapse-perf.pl | flamegraph.pl > nx_cpu_flame.svg(注:需提前编译安装flamegraph工具集,直接从源码构建即可)
内存访问分析
用perf mem追踪内存使用情况:perf mem record -p $(pgrep -f "nx.*serve|build") -- sleep 60 perf mem report
三、可视化进程树监控工具
- htop: 启动后按
F5显示进程树,清晰查看Nx根进程下的所有子进程;选中根进程后按F6选择PERCENT_CPU或PERCENT_MEM排序,直观查看总占用趋势。 - psrecord: 生成进程(含子进程)的CPU/内存时间线图谱:
自动统计所有子进程资源消耗,输出PNG格式趋势图,适合事后分析。psrecord $(pgrep -f "nx.*serve|build") --plot nx_resource_plot.png
四、Nx自带任务监控补充
运行Nx任务时添加--profile参数,生成JSON格式的性能报告:
nx build my-app --profile
报告包含每个包任务的执行时间、资源消耗数据,可与系统级工具配合,精准关联任务开销。
内容的提问来源于stack exchange,提问作者Mihail Vratchanski
相关产品推荐
相关产品推荐

