×
¥
查看详情
🔥 会员专享 文生文 其它

Linux系统进程管理专家

👁️ 58 次查看
📅 Dec 14, 2025
💡 核心价值: 本提示词专为Linux系统管理员和运维工程师设计,提供专业的进程管理解决方案。通过精确的命令推荐和详细的技术解释,帮助用户快速识别系统运行状态、排查性能问题。提示词采用分步工作流程,从需求分析到命令执行再到结果解读,确保技术方案的准确性和实用性。特别适用于系统监控、故障排查和性能优化等场景,输出内容严格遵循技术文档规范,避免无关信息干扰。

🎯 可自定义参数(3个)

监控目标
需要监控的进程目标范围
输出格式
进程信息的显示格式
详细程度
进程信息的详细程度

🎨 效果示例

  • 适用场景

    • 需要一次性列出系统所有进程
    • 输出列可自定义(选择并重命名字段顺序)
    • 仅查看基础信息(PID、USER、状态、CPU、内存、进程名)
    • 可结合排序或周期刷新实现轻量监控
  • 推荐命令

    # 自定义基础信息列,按PID排序列出所有进程
    ps -e -o pid=PID -o user=USER -o stat=STAT -o pcpu=%CPU -o pmem=%MEM -o comm=COMMAND --sort=pid
    
    # 如果更关心资源占用,可按CPU或内存排序:
    ps -e -o pid=PID -o user=USER -o stat=STAT -o pcpu=%CPU -o pmem=%MEM -o comm=COMMAND --sort=-pcpu
    ps -e -o pid=PID -o user=USER -o stat=STAT -o pcpu=%CPU -o pmem=%MEM -o comm=COMMAND --sort=-pmem
    
    # 持续监控(每2秒刷新一次)
    watch -n 2 "ps -e -o pid=PID -o user=USER -o stat=STAT -o pcpu=%CPU -o pmem=%MEM -o comm=COMMAND --sort=-pcpu | head -n 30"
    
  • 参数说明

    • -e / -A:选择系统中所有进程
    • -o:自定义输出列与列标题(等号右侧为自定义表头)
      • pid:进程ID
      • user:所属用户
      • stat:进程状态(R运行、S可中断睡眠、D不可中断I/O、T停止、Z僵尸等;可能带优先级/前台等标志)
      • pcpu:CPU使用率百分比
      • pmem:内存使用率百分比(RSS/总内存)
      • comm:可执行文件名(不含参数;如需完整命令行可用 cmd 或 command 替换)
    • --sort=KEY:按列排序;支持 pid、pcpu、pmem 等,前缀 - 表示降序
    • watch -n 秒:周期性刷新命令输出
  • 执行示例

    $ ps -e -o pid=PID -o user=USER -o stat=STAT -o pcpu=%CPU -o pmem=%MEM -o comm=COMMAND --sort=-pcpu | head
      PID USER     STAT %CPU %MEM COMMAND
     1245 root     R    35.6  1.2  node
     2098 postgres S    12.3  2.8  postgres
     1780 www-data S     5.1  0.7  nginx
      987 root     S     1.0  0.3  dockerd
     2310 elastic  S     0.9  3.5  java
        1 root     S     0.0  0.1  systemd
      412 root     S     0.0  0.0  udevd
     1020 root     S     0.0  0.1  sshd
    
  • 结果分析

    • PID:定位与后续操作(如 kill, strace -p, lsof -p)的关键标识
    • USER:判断所属用户、权限及潜在安全或资源隔离问题
    • STAT:进程状态
      • R 运行中;S 睡眠(常见、正常);D 不可中断I/O(磁盘/网络I/O阻塞,若长期D需排查I/O)
      • T 停止/跟踪;Z 僵尸(父进程未回收)
    • %CPU:较高值意味着当前线程/进程占用CPU显著;ps的pcpu是自进程启动以来的平均占比,瞬时波动建议配合 top/htop 观察
    • %MEM:相对物理内存占用百分比;持续偏高的服务需评估限制或优化
    • COMMAND:可执行名;若需区分相同可执行的不同实例,改用 cmd/command 查看完整参数
  • 技术建议

    • 视角切换
      • 需要更详细的命令行参数:将 comm 替换为 cmd 或 command
      • 按服务聚合或线程级排查(CPU飙高时):top -H -p
    • 高CPU
      • 先用 --sort=-pcpu 筛出TOP进程;定位PID后使用 perf/top/strace 进一步分析
    • 高内存
      • 用 --sort=-pmem 找出占用较高的进程;结合 pmap 或 smem 细化到映射/匿名页
    • I/O阻塞或僵尸
      • STAT为D长期存在:检查磁盘与I/O(iotop、iostat、dmesg)
      • 僵尸(Z)增多:定位其父进程,检查父进程是否正确wait回收
    • 持续监控
      • 使用 watch 周期刷新,或将 ps 输出重定向到文件做历史比对
      • 生产环境建议将关键指标纳入监控系统(如导出器/agent),但日常快速排查用上述 ps 自定义格式足够

备注:列可按需增删,例如加入 ppid=PPID、etime=ELAPSED、nice=NI 等,只需在 -o 后附加对应字段。

  • 适用场景

    • 需要以树状结构查看和监控某个特定服务进程(systemd 管理的 .service),同时获取进程的完整命令行、PID、用户、线程数、CPU/内存等详细信息。
    • 快速判断服务的主进程与子进程层级、是否存在僵尸进程、是否存在异常分叉或泄漏。
  • 推荐命令

    1. 仅树状结构(systemd 原生,最稳妥)
    systemd-cgls --unit <service_name>.service
    
    1. 树状结构 + 显示PID与完整命令行(适合排查参数、子进程层级)
    PID=$(systemctl show -p MainPID --value <service_name>.service)
    if [ "$PID" -gt 0 ]; then
      pstree -aplU "$PID"
    else
      echo "Service not running or MainPID=0"
    fi
    
    1. 树状结构 + 完整指标明细(CPU/内存/线程/优先级等)
    PID=$(systemctl show -p MainPID --value <service_name>.service)
    if [ "$PID" -gt 0 ]; then
      PIDS=$(pstree -ap "$PID" | grep -oE '\([0-9]+\)' | tr -d '()' | paste -sd, -)
      ps --forest -o pid,ppid,user,stat,nlwp,psr,pri,ni,%cpu,%mem,rss,vsz,etime,lstart,cmd -p "$PIDS"
    else
      echo "Service not running or MainPID=0"
    fi
    
  • 参数说明

    • systemd-cgls
      • --unit .service:仅显示该 systemd 单元的 cgroup 进程树(不依赖外部工具,通用可靠)。
    • pstree
      • -a:显示完整命令行参数(args)
      • -p:显示 PID
      • -l:不截断长行
      • -U:使用 UTF-8 树形字符(终端支持时更清晰)
    • ps
      • --forest:以树状结构显示父子关系(在所给 PID 集合内)
      • -o:自定义输出列
        • pid/ppid:进程/父进程ID
        • user:所属用户
        • stat:进程状态(R/S/D/T/Z 等;含优先级标记等)
        • nlwp:线程数
        • psr:当前在第几号CPU上运行
        • pri/ni:内核优先级/进程 nice 值
        • %cpu/%mem:CPU与内存占用百分比
        • rss/vsz:常驻内存/虚拟内存(KB)
        • etime:已运行时长
        • lstart:启动时间
        • cmd:完整命令行
    • 依赖说明
      • pstree 来自 psmisc 包。如未安装:
        • Debian/Ubuntu:apt-get install -y psmisc
        • RHEL/CentOS:yum install -y psmisc 或 dnf install -y psmisc
  • 执行示例 以下以 nginx.service 为例:

    1. 仅树状结构(systemd)
    systemd-cgls --unit nginx.service
    

    预期输出片段示例:

    Control group /system.slice/nginx.service:
    ├─1234 "nginx: master process /usr/sbin/nginx -g daemon off;"
    ├─2345 "nginx: worker process"
    ├─2346 "nginx: worker process"
    └─2347 "nginx: cache manager process"
    
    1. 树状结构 + PID + 完整命令行
    PID=$(systemctl show -p MainPID --value nginx.service)
    pstree -aplU "$PID"
    

    示例输出:

    nginx,1234 -g daemon off;
        ├─nginx,2345 worker process
        ├─nginx,2346 worker process
        └─nginx,2347 cache manager process
    
    1. 树状结构 + 完整指标明细
    PID=$(systemctl show -p MainPID --value nginx.service)
    PIDS=$(pstree -ap "$PID" | grep -oE '\([0-9]+\)' | tr -d '()' | paste -sd, -)
    ps --forest -o pid,ppid,user,stat,nlwp,psr,pri,ni,%cpu,%mem,rss,vsz,etime,lstart,cmd -p "$PIDS"
    

    示例输出片段(列已对齐化简示意):

      PID  PPID USER   STAT NLWP PSR PRI  NI  %CPU %MEM   RSS    VSZ  ELAPSED          STARTED CMD
     1234     1 root   Ss     1   2  19   0   0.3  0.5  40200  305000  02:31:20  Mon Dec  9 10:02:00 nginx: master process /usr/sbin/nginx -g daemon off;
       ├─2345 1234 www    S     4   5  19   0   1.2  0.8  65536  512000  02:31:10  Mon Dec  9 10:02:10 nginx: worker process
       ├─2346 1234 www    S     4   7  19   0   0.9  0.7  62000  500000  02:31:08  Mon Dec  9 10:02:12 nginx: worker process
       └─2347 1234 www    S     1   3  19   0   0.0  0.1  12000  200000  02:31:00  Mon Dec  9 10:02:20 nginx: cache manager process
    
  • 结果分析

    • 树形结构
      • 主进程应为服务的 master/main 进程;子进程数量与服务配置相关(如 Nginx worker 数)。
      • 若出现大量同类子进程或层级异常,需要检查是否有进程分叉异常或守护进程重启循环。
    • 关键指标
      • STAT:Z 表示僵尸(defunct);D 为不可中断睡眠(可能 I/O 卡顿);R 运行态;S 可中断睡眠。
      • %CPU/%MEM:持续高占用需关注;对比不同 worker 的均衡性。
      • RSS/VSZ:RSS 持续增长可能存在内存泄漏。
      • NLWP:线程数异常增长需排查线程泄漏。
      • PSR:长期固定在同一 CPU(PSR 列)且负载高,可能需要检查 CPU 亲和性或调度。
      • ELAPSED/LSTART:频繁重启会表现为较短的已运行时长。
    • cgroup 视角(systemd-cgls)
      • 可确认该服务实际归属的控制组及其全部进程,避免把同名的非本服务进程误判入树。
  • 技术建议

    • 若发现僵尸进程(STAT=Z)
      • 定位其父进程(PPID),确认父进程是否正确回收;必要时平滑重载或重启服务。
    • 若某些子进程 %CPU/%MEM 异常高
      • 优先对异常 PID 做临时采样:top -H -p 、perf/top/strace 进行定位;或调整 worker 数量/限制。
    • 若进程/线程数持续增长
      • 检查连接/请求峰值,结合服务配置(例如 Nginx worker_processes/worker_connections),必要时限流或扩容。
    • 若频繁重启(ELAPSED 很短)
      • 查看 systemd 日志:journalctl -u <service_name>.service --since "1 hour ago"
      • 检查单元文件的 Restart 策略与依赖。
    • 持续监控建议
      • 将第(3)条 ps 命令封装为脚本周期执行并记录快照,或用 atop/collectd/node_exporter 配合告警阈值进行监控。

提示:若不是 systemd 管理的服务,可将 MainPID 的获取替换为进程名定位,如:

  • 获取最新匹配的主进程:PID=$(pgrep -n -f '<进程名或关键字>')
  • 然后按上述 pstree/ps 步骤执行。
  • 适用场景

    • 需要一次性列出当前系统中“资源占用高”的进程,并包含尽可能全面的进程属性字段(CPU/内存/优先级/调度类/线程数/运行时长/绑定CPU/完整启动命令等)
    • 适合以快照形式审查、记录或在自动化脚本中使用,输出为详细列表,便于后续过滤或归档
  • 推荐命令

    # 宽输出避免命令行被截断,按CPU优先、内存次级降序排序
    ps -eww -o pid,ppid,user,uid,pri,ni,cls,psr,nlwp,stat,%cpu,%mem,vsz,rss,etimes,start,time,cmd --sort=-%cpu,-%mem
    
  • 参数说明

    • ps -e:显示所有进程(all processes)
    • ww:宽输出,防止CMD字段被截断
    • -o :自定义输出字段(顺序可调整)
      • pid:进程ID
      • ppid:父进程ID
      • user/uid:所属用户/UID
      • pri/ni:内核优先级/用户nice值(ni越大越“友好”)
      • cls:调度类(TS=普通,FF/RR=实时,B=批处理,ID=空闲)
      • psr:当前运行的CPU核心ID
      • nlwp:线程数
      • stat:进程状态与标志(R/S/D/T/Z 等;含优先级标志如 < 高优、N 低优、+ 前台等)
      • %cpu:当前CPU占用百分比(多核环境可能>100%)
      • %mem:物理内存占用比例
      • vsz:虚拟内存大小(KiB)
      • rss:常驻内存(实际占用物理内存,KiB)
      • etimes:进程启动到现在的秒数(适合排序/对比)
      • start:进程启动时间
      • time:累计CPU时间
      • cmd:完整启动命令行
    • --sort=-%cpu,-%mem:先按CPU降序,再按内存降序
      • 如需按内存优先:--sort=-%mem,-%cpu
    • 可选:接 head -n 40 仅看Top 39进程(含表头)
  • 执行示例

    $ ps -eww -o pid,ppid,user,uid,pri,ni,cls,psr,nlwp,stat,%cpu,%mem,vsz,rss,etimes,start,time,cmd --sort=-%cpu,-%mem | head -n 20
      PID  PPID USER       UID PRI  NI CLS PSR NLWP STAT %CPU %MEM    VSZ    RSS ETIMES  START    TIME CMD
    32451  1024 www-data  33   20   0  TS   5    18 R    287  12.3 1587320 100324   125 10:42:11  02:15 php-fpm: pool www
    28109     1  grafana   995  20   0  TS   3    24 S    185   9.8 2149036  80312  3620 09:41:16  12:07 /usr/sbin/grafana-server ...
    27042     1  prometheus 997 20   0 TS   7     6 S     92   6.2 1789048  51480  5400 09:14:23  08:31 /usr/bin/prometheus --config.file=...
    19877     1  mysql     1001 20   0  TS   1    39 S     61   5.7 4685300 475600  9200 08:10:02  35:44 mysqld
    30512  19877 mysql     1001 20   0  TS   2     1 S     53   4.2 4685300 475600  2700 10:10:53  03:10 mysqld
    ...
    
  • 结果分析

    • 快速识别
      • %CPU 高且 STAT=R:正在大量占用CPU的活跃进程
      • %MEM 高且 RSS 大:占用物理内存显著的进程(潜在内存压力源)
      • PRI/NI/CLS:评估调度优先级;CLS 为 FF/RR 表示实时进程,注意对系统影响
      • PSR:观察是否被某个核心“粘住”(单核热点)
      • NLWP:线程数多的服务在高CPU时常伴随某几个“热点线程”
      • ETIMES/START/TIME:判断是新近异常还是长时间积累
    • STAT 常见值
      • R 运行中,S 可中断睡眠,D 不可中断I/O,T 停止,Z 僵尸
      • 标志位:< 高优先级,N 低优先级,+ 前台,l 多线程(NPTL)
  • 技术建议

    • 连续监控/刷新视图
      • 持续观察前N名进程(每2秒刷新):watch -n 2 'ps -eww -o pid,user,pri,ni,cls,psr,nlwp,stat,%cpu,%mem,rss,etimes,cmd --sort=-%cpu,-%mem | head -n 25'
    • 深入定位热点线程(CPU高时)
      • top -H -p # 查看进程内各线程的CPU占用
      • pidstat -t -p 1 5 # 线程级CPU趋势(需安装 sysstat)
    • I/O 维度(若 STAT 频繁为 D 或磁盘繁忙)
      • pidstat -d 1 5 # 进程级I/O 吞吐与延迟指标
      • iotop -o # 仅显示有I/O的进程(需root,若内核支持)
    • 内存分析(%MEM/RSS高)
      • pmap -x | sort -k3 -nr | head # 粗看映射与RSS
      • smem -rp pid -k rss | head # 进程RSS排行(需安装 smem)
    • 温和处置
      • renice +10 -p # 降低优先级,减缓资源竞争
      • kill -15 # 优雅停止异常进程;仅在确认业务影响可控时使用
    • 自动化输出与归档
      • 定时记录快照:ps -eww -o ... --sort=-%cpu,-%mem > /var/log/proc-snapshot_$(date +%F_%T).log
    • 系统层面优化
      • 若长期单核热点明显,可考虑调整进程/线程亲和性与调度策略前,先定位代码或配置瓶颈
      • 对服务进程建议配合 cgroup 限额与系统监控(如 node_exporter + Prometheus)进行持续观测

说明

  • 上述命令均为安全的只读型查询;iotop/pidstat 可能需要安装对应软件包
  • 若输出列过长,可按需移除字段或使用列筛选(awk/grep)以匹配你的排障流程

示例详情

📖 如何使用

30秒出活:复制 → 粘贴 → 搞定
与其花几十分钟和AI聊天、试错,不如直接复制这些经过千人验证的模板,修改几个 {{变量}} 就能立刻获得专业级输出。省下来的时间,足够你轻松享受两杯咖啡!
加载中...
💬 不会填参数?让 AI 反过来问你
不确定变量该填什么?一键转为对话模式,AI 会像资深顾问一样逐步引导你,问几个问题就能自动生成完美匹配你需求的定制结果。零门槛,开口就行。
转为对话模式
🚀 告别复制粘贴,Chat 里直接调用
无需切换,输入 / 唤醒 8000+ 专家级提示词。 插件将全站提示词库深度集成于 Chat 输入框。基于当前对话语境,系统智能推荐最契合的 Prompt 并自动完成参数化,让海量资源触手可及,从此彻底告别"手动搬运"。
即将推出
🔌 接口一调,提示词自己会进化
手动跑一次还行,跑一百次呢?通过 API 接口动态注入变量,接入批量评价引擎,让程序自动迭代出更高质量的提示词方案。Prompt 会自己进化,你只管收结果。
发布 API
🤖 一键变成你的专属 Agent 应用
不想每次都配参数?把这条提示词直接发布成独立 Agent,内嵌图片生成、参数优化等工具,分享链接就能用。给团队或客户一个"开箱即用"的完整方案。
创建 Agent

✅ 特性总结

按需生成监控方案,自动匹配最合适的进程命令与参数,少走弯路提效
一步步指导执行,关键注意事项一目了然,新人亦可稳妥上手无惧值班
智能解读命令结果,快速标注异常进程与资源瓶颈,定位更快省时省心
结合场景给出后续处置建议,轻松形成可落地的优化清单,指导闭环执行
支持模板化调用,可复用到日常巡检、值班与应急SOP,一键落盘可共享
覆盖监控、排错、性能优化全链路,减少跨工具切换时间,保障响应节奏
可按详细程度输出,从速览到深度分析自由切换,节省沟通成本适配多角色
严格遵循安全边界,避免危险操作与无关信息,保障生产环境稳定上线
自动整理参数含义与示例,随取随用,降低记忆与培训负担,缩短新人成长周期
可按目标对象聚焦监控,精确到服务、端口或用户级进程,减少误报遗漏

🎯 解决的问题

将AI变成“Linux进程值班负责人”,帮助运维与开发团队在监控、故障排查、性能优化三大场景下,快速、稳妥地定位问题与给出可执行方案。通过一键生成“最合适的命令组合+参数释义+输出解读+后续动作建议”的标准化结果卡片,显著缩短排障时间、降低误操作风险、提升SLA稳定性。支持按需切换详略与输出格式,便于复制到工单/周报/巡检记录;沉淀为团队统一SOP,让新人迅速上手、专家效率倍增,推动试用转化为日常刚需工具。

🕒 版本历史

当前版本
v2.1 2024-01-15
优化输出结构,增强情节连贯性
  • ✨ 新增章节节奏控制参数
  • 🔧 优化人物关系描述逻辑
  • 📝 改进主题深化引导语
  • 🎯 增强情节转折点设计
v2.0 2023-12-20
重构提示词架构,提升生成质量
  • 🚀 全新的提示词结构设计
  • 📊 增加输出格式化选项
  • 💡 优化角色塑造引导
v1.5 2023-11-10
修复已知问题,提升稳定性
  • 🐛 修复长文本处理bug
  • ⚡ 提升响应速度
v1.0 2023-10-01
首次发布
  • 🎉 初始版本上线
COMING SOON
版本历史追踪,即将启航
记录每一次提示词的进化与升级,敬请期待。

💬 用户评价

4.8
⭐⭐⭐⭐⭐
基于 28 条评价
5星
85%
4星
12%
3星
3%
👤
电商运营 - 张先生
⭐⭐⭐⭐⭐ 2025-01-15
双十一用这个提示词生成了20多张海报,效果非常好!点击率提升了35%,节省了大量设计时间。参数调整很灵活,能快速适配不同节日。
效果好 节省时间
👤
品牌设计师 - 李女士
⭐⭐⭐⭐⭐ 2025-01-10
作为设计师,这个提示词帮我快速生成创意方向,大大提升了工作效率。生成的海报氛围感很强,稍作调整就能直接使用。
创意好 专业
COMING SOON
用户评价与反馈系统,即将上线
倾听真实反馈,在这里留下您的使用心得,敬请期待。
加载中...
📋
提示词复制
在当前页面填写参数后直接复制: