可用ps命令一行导出进程快照:ps aux > processes_all.txt保存完整列表;ps aux --sort=-%cpu | head -20 > top20_cpu.txt取cpu前20;pstree -p > process_tree.txt显示树状结构;ps -eo指定字段导出简洁csv;加date和uptime可存档带时间戳的系统快照。

可以直接用 ps 命令结合重定向,把所有运行中进程的快照保存为文本文件。不需要额外工具,一行命令就能完成。
导出完整进程列表(推荐 ps aux)
这是最常用、信息最全的方式,包含用户、CPU/内存占用、启动时间、命令等:
- ps aux > processes_all.txt —— 保存到当前目录的文本文件
- ps aux --sort=-%cpu | head -20 > top20_cpu.txt —— 按CPU降序取前20个,适合排查高负载
- ps aux --sort=-%mem | head -20 > top20_mem.txt —— 同理,按内存排序取前20
导出带树状结构的进程视图
如果需要看清父子进程关系(比如某个服务启了多少子进程),可用:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- pstree -p > process_tree.txt —— 显示带PID的树形结构
- ps -axjf > process_forest.txt —— 用ASCII缩进展示层级,兼容性更好
导出用于脚本处理的简洁格式
若后续要写Shell脚本解析(如提取特定字段),建议用 -o 自定义列:
- ps -eo pid,ppid,user,%cpu,%mem,vsz,rss,tty,stat,start,time,comm --no-headers > proc_simple.csv
- 加 --no-headers 可去掉表头,方便CSV导入或awk处理
附加:带时间戳和系统信息一起存档
便于事后回溯,尤其在排查问题时很有用:
- { echo "=== $(date) ==="; echo "Uptime: $(uptime)"; echo; ps aux; } > archive_$(date +%Y%m%d_%H%M).log










