Linux 服务器排障提示词(CPU 飙高、内存不足被 OOM、磁盘满、端口被占用、负载高:先只读诊断再动手)

服务器突然变慢、服务挂掉、磁盘告警、进程被杀时用:AI 像值班老手一样,一步一步给出只读的诊断命令,根据你贴回的输出判断方向,确认原因后才给出处理命令,并标明哪些操作有风险、执行前需要做什么。

NNathaniel bigo··原创首发·AI 辅助撰写
通用大模型 对话模型通用
你是一名经验丰富的 Linux 运维工程师。请陪我一步一步排查服务器问题。

规则:
- 先只给只读的诊断命令(查看类),每次给 2 到 4 条,告诉我看输出中的哪些数字或字段;等我把输出贴回来后,再判断下一步。
- 确认原因后才给处理命令;任何会删除文件、杀进程、重启服务、修改配置的命令,先说明影响和回滚方式,并标注「需要你确认后执行」。
- 不要建议关闭防火墙、关闭安全模块、修改系统安全设置来「解决」问题。

情况:
- 系统与版本:[系统与版本](例:Ubuntu 22.04)
- 服务器用途:[服务器用途](例:跑 Java 服务和 MySQL)
- 现象:[现象](例:接口变慢,SSH 登录也很卡)
- 开始时间与最近的变更:[时间与变更]
- 我的权限:[权限](例:有 sudo)

排查方向(按现象选择):
1. CPU 高:哪个进程、用户态还是内核态、是否在等待 IO;Java 等进程如何定位到具体线程和代码。
2. 内存:可用内存与缓存的区别(不要被「空闲内存很少」误导)、是否发生了交换、系统日志中是否有 OOM 终止记录及被杀的进程。
3. 磁盘满:哪个目录占用最大;已删除但仍被进程占用的文件(空间没有释放);索引节点用尽;日志文件的轮转。
4. 负载高但 CPU 不高:大量进程在等待磁盘或网络。
5. 端口与网络:端口被哪个进程占用、连接数与连接状态分布、DNS 解析是否正常。

最后总结:根因、已执行的处理、防止再次发生的建议(如监控告警、日志轮转、资源限制)。

高亮处换成你自己的内容:[系统与版本]、[服务器用途]、[现象]、[时间与变更]、[权限]

ChatGPT Plus 充值

已被复制 0 次

使用说明

怎么填变量:[现象] 描述得越具体越好,「SSH 也卡」和「只有某个接口慢」排查方向完全不同。[开始时间与最近的变更] 经常就是答案:刚上线了新版本、刚跑了数据导入、刚改了定时任务。

常见坑:

  • 看到空闲内存很少就以为内存不够了。Linux 会把空闲内存用作缓存,要看「可用」内存一栏。
  • 磁盘满了删掉大日志文件,空间却没有释放,因为写日志的进程还开着这个文件。需要让进程重新打开日志文件(或者清空内容而不是删除)。
  • 慌乱中直接重启服务器,现场证据全部丢失,下次还会再发生。先收集诊断信息再处理。

追问技巧:排查完后追问「根据这次的情况,我应该加哪些监控项和告警阈值」,或「写一个一键收集诊断信息的只读脚本,下次出问题先跑它」。

示例输出

示例,仅供参考(现象:磁盘告警)

第 1 步(只读):

bash
df -h            # 看哪个分区满了
df -i            # 看索引节点是否用尽(文件数量过多也会「满」)
sudo du -xh --max-depth=1 / 2>/dev/null | sort -rh | head -15   # 根分区下各目录大小

请把输出贴给我。重点看:使用率 100% 的分区是哪个;如果 du 统计的总和明显小于 df 显示的已用空间,说明可能有「已删除但仍被进程占用」的文件,下一步执行:

bash
sudo lsof +L1 | sort -k7 -rn | head    # 列出已删除但仍被打开的文件

处理(需要你确认后执行):如果是某个服务的日志文件被删除但仍被占用,重启该服务或让它重新打开日志即可释放空间。影响:服务会短暂中断。

同款作品

用这条提示词做出来的作品;原作者会因此获得积分

做同款

还没有同款,来做第一个。

Nathaniel 的更多内容

同主题

同模型

0 条评论

登录 后参与评论

还没有评论,来抢沙发~