[Linux] 利用tcpdump和strace进行debug

比如说要查看所有的sql查询语句,数据库的端口是3306

tcpdump -i any port 3306 -l -s 0 -w -|strings|grep -A 5 select

 

要查看所有的调用mc资源,端口是50028

tcpdump -i any port 50028 -l -s 0 -w -|strings

 

如果要查看fpm的进程资源读取的文件,连接的网络可以先把fpm的worker进程数调整为一个,进程是15816

strace -e open -p 15816

-e是可以进行过滤 后面那个就是跟着系统调用的函数名就行了,还有以下系统调用的函数名

open() : 用于打开或创建一个文件。
read() : 用于读取一个文件。
write() : 写文件。
connect() : 建立网络连接。
sendto() : 发送网络数据。
recvfrom() : 接收网络数据。
futex() : 锁相关操作。

查看多个子进程的,比如php-fpm
strace $(pidof "php-fpm" | sed 's/\([0-9]*\)/-p \1/g')

 

posted @ 2019-12-25 20:23  唯一客服系统开发笔记  阅读(596)  评论(0编辑  收藏  举报