mouse_swim 2019-02-28 15:44
浏览 741

perf分析性能,__write_nocancel占用过高,如何确认是谁调用?

目前在做一个程序的性能分析,该程序主要是接受udp消息后进行处理,然后在通过udp发送出去。
但是在做压力测试的时候,发现其性能较差(该程序为单线程)。
使用perf进行性能分析。
使用命令:
perf record -e cpu-clock -g -p pid
perf script -i perf.data &> perf.unfold
./stackcollapse-perf.pl perf.unfold &> perf.folded
./flamegraph.pl perf.folded > perf1.svg
生成火焰图后分析,发现函数__write_nocancel 占用在14%,但是没有该函数的调用关系,不知道是谁调用了这个系统函数。
目前了解到write和print函数都会调用到这个系统函数。但是程序中并没有直接调用这两个函数。
问题:
1、udp发送使用的函数为sendto是否会调用该系统函数?
2、如何将该函数的函数调用关系显示出来?
图片说明
其中mgcsipsa为被分析的进程。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 matlab有关常微分方程的问题求解决
    • ¥15 perl MISA分析p3_in脚本出错
    • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
    • ¥15 ubuntu虚拟机打包apk错误
    • ¥199 rust编程架构设计的方案 有偿
    • ¥15 回答4f系统的像差计算
    • ¥15 java如何提取出pdf里的文字?
    • ¥100 求三轴之间相互配合画圆以及直线的算法
    • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
    • ¥15 名为“Product”的列已属于此 DataTable