ps命令查看进程的技巧?实战案例教你高效管理!

天美租号

昨天排查服务器卡顿的时候,突然想起个老问题:ps命令参数那么多,到底怎么组合才能快速揪出问题进程?翻了几页文档越看越糊涂,干脆自己动手测一遍!

一、基础命令踩坑实录

先试了个最傻的ps -ef,结果满屏滚动根本停不下来,运维小哥路过幽幽说了句:“你这看得清算我输”。行,加上管道grep nginx总算过滤出关键进程了:

ps命令查看进程的技巧?实战案例教你高效管理!

  • UID字段是1001这个数字看着真别扭
  • 启动时间挤在第三列角落里
  • 最要命的是CPU内存数据根本没显示!

二、自定义字段折腾记

ps命令查看进程的技巧?实战案例教你高效管理!

想起文档里提过可以用-o自定义字段,搓着手输入ps -eo pid,user,pcpu,pmem,cmd --sort=-pcpu

  • pid是进程身份证号必须留着
  • user改成全称方便看责任人
  • pcpu/pmem盯着CPU内存飙升
  • 按CPU占用倒序排列
  • ps命令查看进程的技巧?实战案例教你高效管理!

刚觉得有点样子,开发总监突然在背后喊:“那个Java进程内存泄漏了!快看看它子进程吃多少!” 当场懵住——普通ps压根不显示进程树!

三、进程树追踪实战

翻箱倒柜找出ps -ef --forest救命:

  • 第一层发现主进程PID 8877
  • ps命令查看进程的技巧?实战案例教你高效管理!

  • 缩进显示fork出的三个worker
  • 某个worker后面居然挂着五个孙子线程!

立马pstree -p 8877验证,好家伙线程ID全暴露出来了,其中一个线程内存占用比主进程还高!正准备截图留证,显示屏突然弹出个弹窗...

四、惊悚结局

总监发来个诡异需求:“把这组实时状态自动导出成Excel!” 我盯着ps命令看了十分钟,默默打开招聘网站——这破需求ps它真干不了! 更魔幻的是,三小时后总监私聊我:“刚那个需求当我没说,我是想查...”(消息突然撤回)

ps命令查看进程的技巧?实战案例教你高效管理!

算了,果断把ps auxf组合键设为桌面便签,下次谁再提奇葩需求就把屏幕怼过去!

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,4人围观)

还没有评论,来说两句吧...