国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

用strace查找進程卡死的原因分析

瀏覽:12日期:2023-09-23 20:55:12
目錄用strace查找進程卡死原因首先我們用ps auxf然后我們進一步通過這里可以看到死在了系統回調read這里分割線,后面再次出現這個問題繼續用strace -p 27678跟蹤接著我們cd /proc/27678/查看進程的內核堆棧的調試信息現在我們查看一下進程打開的文件描述符14代表什么其實在這里我們也可以使用lsof來定位也可以直接查看進程27678打開的總結用strace查找進程卡死原因

最近遇到進程卡死的情況,但是自己調試的過程中并不一定能復現,都是需要運行一段時間某些條件下才會觸發,對于這種運行著不能破壞現場的情況,我們可以使用gdb -p和strace -p來跟蹤。

首先我們用ps auxf

查看我們的進程執行到了哪一步:

可以看到執行到了docker exec -i 178.20.1.229_0115034556 ls然后就卡死了

然后我們進一步通過

strace查看執行這個操作死在哪個系統回調了:

這里可以看到死在了系統回調read這里

描述符19的具體意義我們可以進入/proc/pid/fd再查看一下:

我們可以發現,19代表的是pipe,我們這里是死在了讀pipe上面。

/************************************************/

分割線,后面再次出現這個問題

我們先用ps auxf查看進程號和進程執行到了哪一步,可以看到進程號是27678,卡在docker exec

root 27678 0.3 0.4 512172 16500 Sl python /wns/cloud/app/com_host/main.pycroot 25011 0.0 0.0 4332 652 S \_ /bin/sh -c docker exec -i mongo_docker_master lsroot 25014 0.0 0.2 136592 10600 Sl \_ docker exec -i mongo_docker_master ls繼續用strace -p 27678跟蹤

發現卡在read,文件描述符是14

root@localhost:/# strace -p 27678 Process 27678 attachedread(14,接著我們cd /proc/27678/

在這里我們可以查看進程狀態

root@localhost:/proc/27678# cat status Name:pythonState:S (sleeping)Tgid:27678Ngid:0Pid:27678PPid:27677查看進程的內核堆棧的調試信息

wchan表示導致進程睡眠或者等待的函數

root@localhost:/proc/27678# cat stack [<ffffffff811a91ab>] pipe_wait+0x6b/0x90[<ffffffff811a9c04>] pipe_read+0x344/0x4f0[<ffffffff811a00bf>] do_sync_read+0x7f/0xb0[<ffffffff811a0681>] vfs_read+0xb1/0x130[<ffffffff811a1110>] SyS_read+0x80/0xe0[<ffffffff818d4c49>] system_call_fastpath+0x16/0x1b[<ffffffffffffffff>] 0xffffffffffffffffroot@localhost:/proc/27678# cat wchan pipe_wait現在我們查看一下進程打開的文件描述符14代表什么

pipe文件

root@localhost:/proc/27678# ls -l ./fdtotal 0lr-x------ 1 root root 64 Mar 26 17:19 0 -> pipe:[30690124]l-wx------ 1 root root 64 Mar 26 17:19 1 -> pipe:[30690125]lrwx------ 1 root root 64 Mar 26 17:19 10 -> socket:[30691732]lr-x------ 1 root root 64 Mar 26 17:19 11 -> /dev/urandomlrwx------ 1 root root 64 Mar 26 17:19 12 -> socket:[30719611]lrwx------ 1 root root 64 Mar 26 17:19 13 -> socket:[30719610]lr-x------ 1 root root 64 Mar 26 17:19 14 -> pipe:[38483750]

我們已經可以確定main創建子進程執行shell命令docker exec -i mongo_docker_master ls,同時通過pipe和子進程通信,結果卡在了read pipe上。

其實在這里我們也可以使用lsof來定位

可以看到進程27678打開的FD 14是pipe,這里u代表可讀可寫,r代表可讀

sangfor ~ # lsof -d 14COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEmongod 1907 root 14u REG 251,0 36864 130683 /wns/data/mongodb/db/collection-7--588642557116981989.wtsyslog-ng 3446 root 14u unix 0xffff88012227d800 0t0 40557736 /dev/logdockerd 4025 root 14u unix 0xffff8800b8d5d800 0t0 13941 /run/docker/libnetwork/a73bd949b5fbb89c2b8bec3b4ac6af0a948a944958c8b037d9e6c9b324b44331.sockdocker-co 9382 root 14u 00000,90 9553 anon_inodedocker-co 21204 root 14u 00000,90 9553 anon_inodepython 27678 root 14r FIFO0,8 0t0 38483750 pipe也可以直接查看進程27678打開的

可以看到14是pipe

sangfor ~ # lsof -p 27678COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEpython 27678 root 0r FIFO0,8 0t0 30690124 pipepython 27678 root 1w FIFO0,8 0t0 30690125 pipepython 27678 root 2w FIFO0,8 0t0 30690126 pipepython 27678 root 3u 00000,90 9553 anon_inodepython 27678 root 4u 00000,90 9553 anon_inodepython 27678 root 5u pack 30691718 0t0 unknown type=SOCK_RAWpython 27678 root 6w REG 251,0 76106652 130565 /wns/data/com_host/etc/config/err.logpython 27678 root 7u IPv4 30691716 0t0 TCP Sangfor:53102->Sangfor:42457 (ESTABLISHED)python 27678 root 8u IPv4 30691717 0t0 TCP Sangfor:42457->Sangfor:53102 (ESTABLISHED)python 27678 root 9u IPv4 30691731 0t0 TCP db.sdwan:54072->sdwan.io:27017 (ESTABLISHED)python 27678 root 10u IPv4 30691732 0t0 TCP db.sdwan:54074->sdwan.io:27017 (ESTABLISHED)python 27678 root 11r CHR1,9 0t0 30690329 /dev/urandompython 27678 root 12u IPv4 30719611 0t0 TCP db.sdwan:51404->db.sdwan:37017 (ESTABLISHED)python 27678 root 13u IPv4 30719610 0t0 TCP db.sdwan:47124->db.sdwan:27017 (ESTABLISHED)python 27678 root 14r FIFO0,8 0t0 38483750 pipe總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Linux
主站蜘蛛池模板: 99热免费 | 波多野一区二区三区在线 | 亚洲欧美一区二区三区国产精品 | 久久久久久亚洲精品影院 | 国产精品天天爽夜夜欢张柏芝 | 波多野结衣视频在线观看地址免费 | 亚洲成年人免费网站 | 99视频在线观看高清 | 久热免费在线观看 | 国产伦码精品一区二区 | 国产激情视频在线播放 | 天堂视频网站 | 国产不卡精品一区二区三区 | 亚洲欧美二区三区久本道 | 亚洲国产美女视频 | 91九色国产 | 91在线亚洲 | 自拍偷在线精品自拍偷无码专区 | 成年美女黄网站色大 | 好吊妞国产欧美日韩视频 | 欧美人性影片免费看 | 手机国产日韩高清免费看片 | 农村寡妇一级毛片免费播放 | 99精品免费在线 | 亚洲一级毛片在线观播放 | 男人操美女 | 日韩区在线观看 | 国产精品yjizz视频网一二区 | 中国日本高清免费视频网 | 韩国视频一区 | 欧美午夜在线播放 | 久久免费视频1 | 手机在线看片国产日韩生活片 | 亚洲一区二区免费视频 | 91亚洲精品一区二区福利 | 亚洲国产精品久久久久久 | 亚洲欧美日韩国产精品 | 久久久久久久岛国免费观看 | 亚洲国产日韩欧美综合久久 | 亚洲视频在线观看免费视频 | 欧美成a人片在线观看久 |