strace - 查看程序中最多的函数调用

关于strace的简介不在赘述。

sudo strace -T -ttp 2838 -c  获取系统调用情况

从下图可以看出pwrite(随机写入)占比87%

#接着查看详细的strace内容
sudo strace -T -ttp 2838 -o ~/2838_s1.log 
#也可以使用sudo strace -T -e pwrite -ttp 2838 -o ~/2838_s1.log 只跟踪pwrite调用

pwrite函数的用法如下
返回值:成功,返回写入到文件中的字节数;失败,返回-1;
参数:
(1) fd:要写入数据的文件描述符
(2) buf:数据缓存区指针,存放要写入文件中的数据
(3) count:写入文件中的数据的字节数
(4) offset:偏移地址 
lsof -p 2838
#使用lsof -p 2838 可以看到文件描述符7w对应的文件名,正在对该文件进行写入。

 

综合 strace 可以看出,pwrite基本上都是对xxx.ts文件的随机写入,占用的资源是最多的

文件描述符
pwrite 系统调用的用法
 

posted on 2019-01-03 17:32  冰冰爱学习  阅读(602)  评论(0编辑  收藏  举报

导航