请教运维大佬, strace -p [pid] 没有任何输出,但是该 pid 占用 CPU 百分百 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
guyueyiren
V2EX    Linux

请教运维大佬, strace -p [pid] 没有任何输出,但是该 pid 占用 CPU 百分百

  •  
  •   guyueyiren 2021-06-11 10:11:13 +08:00 2933 次点击
    这是一个创建于 1666 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们有一套 GatewayWorker 程序,分配 4 条进程服务 昨天更新代码,一段时间之后出现某几条进程 cpu 占用 100%,用 strace 跟踪该 pid,没有任何信息输出,请教大佬们有没有排除问题的思路 初步怀疑是由于客户端某个操作,触发了程序内部的死循环,导致,但是程序大大说没发现有什么死循环的代码

    16 条回复    2021-06-15 17:20:06 +08:00
    x1596357
        1
    x1596357  
       2021-06-11 10:14:06 +08:00
    直接 gdb attach 进去,断点就是循环的代码。
    fengjianxinghun
        2
    fengjianxinghun  
       2021-06-11 10:19:39 +08:00
    strace 只能追踪 syscall,假如死循环代码没有触发 syscall 就不会有输出,直接 gdb -p $pid 就行了
    LaoK666
        3
    LaoK666  
       2021-06-11 10:24:29 +08:00
    pstack 打印下堆栈,多打几次分析下
    guyueyiren
        4
    guyeyiren  
    OP
       2021-06-11 10:30:33 +08:00
    @x1596357 好的,万分感谢,我试试
    guyueyiren
        5
    guyueyiren  
    OP
       2021-06-11 10:30:47 +08:00
    @fengjianxinghun 好的,万分感谢,我试试
    guyueyiren
        6
    guyueyiren  
    OP
       2021-06-11 10:31:06 +08:00
    @wangxkww 好的,万分感谢,我试试
    julyclyde
        7
    julyclyde  
       2021-06-11 10:33:08 +08:00
    这种情况一般是在线程里
    zhoudaiyu
        8
    zhoudaiyu  
    PRO
       2021-06-11 10:52:00 +08:00
    strace -fp $PID,这样可以看线程。或者用 perf trace $PID 也可以捕获到线程的 syscall 。
    guyueyiren
        9
    guyueyiren  
    OP
       2021-06-11 11:17:09 +08:00
    @julyclyde
    @zhoudaiyu 感谢两位,问题已经找到了
    guyueyiren
        10
    guyueyiren  
    OP
       2021-06-11 11:19:10 +08:00   1
    多谢各位大佬,问题已经找到了,是程序员大大很久之前写了个 bug,因为入场门槛较高一直没测出来,现在一触发就导致了死循环,已经解决了,还是 v 站大佬多啊
    julyclyde
        11
    julyclyde  
       2021-06-11 12:15:48 +08:00   1
    @guyueyiren 恭喜啊
    赶紧把检查过程、思路记录下来,回头邀功请赏的时候会用到
    hronro
        12
    hronro  
       2021-06-11 13:32:34 +08:00 via iPhone
    只有我一个人比较好奇,这种问题不应该是程序员自己 Debug 吗,为什么是运维来 Debug ?
    matrix67
        13
    matrix67  
       2021-06-11 13:38:28 +08:00
    @hronro 应该不是不会,是扯皮了
    no1xsyzy
        14
    no1xsyzy  
       2021-06-11 14:44:31 +08:00
    @hronro 楼主不一定是运维,也可能是测试(
    guyueyiren
        15
    guyueyiren  
    OP
       2021-06-11 15:03:17 +08:00
    回答上面三位的问题:
    我们是个小公司,就那么几个人,我是运维,理论上啥都会(开发,网络,运维),但是不精通,哈哈。
    没扯皮,大家关系都比较好,早先我怀疑是死循环的时候,程序员大大就粗略的看了看,说没问题,后面大家一起查出来了,领导也没说啥,让下次注意点。
    因为工期比较赶,估计程序员大大写完后没有自己 debug 一遍,也不能说是后端的锅。
    另外提一嘴,我们有一个运营,拉过来当测试了,哈哈,甩锅到他头上说没测试出来
    julyclyde
        16
    julyclyde  
       2021-06-15 17:20:06 +08:00
    @hronro 程序员一般会嘴硬说 works for me
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1448 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 16:16 PVG 00:16 LAX 08:16 JFK 11:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86