需要丢包的调用kfree_skb perf record -g -a -e skb:kfree_skb 跟踪kfree_skb 就可以知道 丢包!! 内核通过kfree_skb释放skb,kfree_skb函数中已经埋下了trace点,并且通过__builtin_return_address(0)记录下了调用kfree_skb的函数地址并传给location参数: /** * kfree_skb - free an sk_buff * @skb...
skb:kfree_skb [Tracepointevent] skb:skb_copy_datagram_iovec [Tracepointevent] block:block_rq_abort [Tracepointevent] block:block_rq_insert [Tracepointevent] block:block_rq_issue [Tracepointevent] block:block_rq_requeue [Tracepointevent] block:block_rq_complete [Tracepointevent] block:block_b...
Perf kmem 在 kfree 事件中判断 CPU 号,如果和 kmalloc 时的不同,则视为一次 ping-pong,理想的情况下 ping-pong 越小越好。Ibm developerworks 上有一篇讲述 oprofile 的文章,其中关于 cache 的调优可以作为很好的参考资料。 Callsite:内核代码中调用kmalloc和kfree的地方。 Total_alloc/Per:总共分配的内存大小,...
drm:drm_vblank_event [Tracepoint event]drm:drm_vblank_event_queued [Tracepoint event]drm:drm_vblank_event_delivered [Tracepoint event]skb:kfree_skb [Tracepoint event]skb:consume_skb [Tracepoint event]skb:skb_copy_datagram_iovec [Tracepoint event]net:net_dev_xmit [Tracepoint event]net:net_d...
$ perf-prof trace -e skb:kfree_skb -g --flame-graph kfree_skb -i 600000 -m 128 #每600秒间隔输出火焰图 $ flamegraph.pl --reverse kfree_skb.folded > kfree_skb.svg #生成火焰图 4.6.3 CPU性能火焰图 $ perf-prof profile -F 1000 -C 0,1 --exclude-user -g --flame-graph profile...
perf top -ag -e xfs:xfs_attr_list_sf,skb:kfree_skb,block:*,irq:softirq* No CONFIG_PERF_EVENTS=y kernel support configured? 编译内核是需要配置CONFIG_PERF_EVENTS=y perf stat -e xfs:xfs_attr_list_sf,skb:kfree_skb,block:*,irq:softirq* -- sleep 10 Performance counter stats for 'slee...
$ perf-prof trace -e skb:kfree_skb -g --flame-graph kfree_skb -m 128 #监控丢包 $ perf-prof trace -e skb:kfree_skb -g --flame-graph kfree_skb -i 600000 -m 128 #每600秒间隔输出火焰图 $ flamegraph.pl --reverse kfree_skb.folded > kfree_skb.svg #生成火焰图 4.6.3 CPU性...
__netif_receive_skb_core __netif_receive_skb netif_receive_skb virtnet_poll net_rx_action __do_softirq irq_exit do_IRQ ret_from_intr default_idle cpu_idle start_secondary 25.58% sshd [kernel.kallsyms] [k] consume_skb | --- consume_skb dev_kfree_skb_any free_old_xmit_skbs.isra....
skb:kfree_skb [Tracepoint event] skb:consume_skb [Tracepoint event] skb:skb_copy_datagram_iovec [Tracepoint event] net:net_dev_xmit [Tracepoint event] net:net_dev_queue [Tracepoint event] net:netif_receive_skb [Tracepoint event]
$ perf top --symbols kfree // 仅显示指定的符号 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. perf-stat 用于分析指定程序的性能概况。 Run a command and gather performance counter statistics. perf stat [-e | --event=EVENT] [-a] perf stat [-e | --event=EVENT] [-a] -...