Perf 可以获取的 PMU 事件
perf list
打印所有可以指定的事件,事件的数量非常非常多,每个子系统都有一组事件,要理解这些事件,需要对内核非常熟悉。
$ perf list
List of pre-defined events (to be used in -e):
alignment-faults [Software event]
context-switches OR cs [Software event]
cpu-clock [Software event]
cpu-migrations OR migrations [Software event]
dummy [Software event]
emulation-faults [Software event]
major-faults [Software event]
minor-faults [Software event]
page-faults OR faults [Software event]
task-clock [Software event]
msr/tsc/ [Kernel PMU event]
rNNN [Raw hardware event descriptor]
cpu/t1=v1[,t2=v2,t3 ...]/modifier [Raw hardware event descriptor]
(see 'man perf-list' on how to encode it)
mem:<addr>[/len][:access] [Hardware breakpoint]
alarmtimer:alarmtimer_cancel [Tracepoint event]
alarmtimer:alarmtimer_fired [Tracepoint event]
alarmtimer:alarmtimer_start [Tracepoint event]
alarmtimer:alarmtimer_suspend [Tracepoint event]
...
block:block_bio_backmerge [Tracepoint event]
block:block_bio_backmerge [Tracepoint event]
block:block_bio_bounce [Tracepoint event]
block:block_bio_complete [Tracepoint event]
block:block_bio_frontmerge [Tracepoint event]
block:block_bio_queue [Tracepoint event]
...
bridge:br_fdb_add [Tracepoint event]
bridge:br_fdb_external_learn_add [Tracepoint event]
bridge:br_fdb_update [Tracepoint event]
bridge:fdb_delete [Tracepoint event]
...
cgroup:cgroup_remount [Tracepoint event]
cgroup:cgroup_rename [Tracepoint event]
cgroup:cgroup_rmdir [Tracepoint event]
cgroup:cgroup_setup_root [Tracepoint event]
cgroup:cgroup_transfer_tasks [Tracepoint event]
...
clk:clk_disable [Tracepoint event]
clk:clk_disable_complete [Tracepoint event]
clk:clk_enable [Tracepoint event]
clk:clk_enable_complete [Tracepoint event]
clk:clk_prepare [Tracepoint event]
clk:clk_prepare_complete [Tracepoint event]
...
compaction:mm_compaction_begin [Tracepoint event]
compaction:mm_compaction_defer_compaction [Tracepoint event]
compaction:mm_compaction_defer_reset [Tracepoint event]
compaction:mm_compaction_deferred [Tracepoint event]
compaction:mm_compaction_end [Tracepoint event]
compaction:mm_compaction_finished [Tracepoint event]
compaction:mm_compaction_isolate_freepages [Tracepoint event]
...
context_tracking:user_enter [Tracepoint event]
context_tracking:user_exit [Tracepoint event]
...
cpuhp:cpuhp_enter [Tracepoint event]
cpuhp:cpuhp_exit [Tracepoint event]
cpuhp:cpuhp_multi_enter [Tracepoint event]
...
dma_fence:dma_fence_destroy [Tracepoint event]
dma_fence:dma_fence_emit [Tracepoint event]
dma_fence:dma_fence_enable_signal [Tracepoint event]
...
exceptions:page_fault_kernel [Tracepoint event]
exceptions:page_fault_user [Tracepoint event]
...
fib6:fib6_table_lookup [Tracepoint event]
fib:fib_table_lookup [Tracepoint event]
...
filelock:break_lease_block [Tracepoint event]
filelock:break_lease_noblock [Tracepoint event]
filelock:break_lease_unblock [Tracepoint event]
filelock:fcntl_setlk [Tracepoint event]
...
filemap:file_check_and_advance_wb_err [Tracepoint event]
filemap:filemap_set_wb_err [Tracepoint event]
filemap:mm_filemap_add_to_page_cache [Tracepoint event]
filemap:mm_filemap_delete_from_page_cache [Tracepoint event]
...
fs_dax:dax_insert_mapping [Tracepoint event]
fs_dax:dax_insert_pfn_mkwrite [Tracepoint event]
fs_dax:dax_insert_pfn_mkwrite_no_entry [Tracepoint event]
fs_dax:dax_load_hole [Tracepoint event]
...
ftrace:function [Tracepoint event]
ftrace:print [Tracepoint event]
huge_memory:mm_collapse_huge_page [Tracepoint event]
huge_memory:mm_collapse_huge_page_isolate [Tracepoint event]
huge_memory:mm_collapse_huge_page_swapin [Tracepoint event]
huge_memory:mm_khugepaged_scan_pmd [Tracepoint event]
hwmon:hwmon_attr_show [Tracepoint event]
hwmon:hwmon_attr_show_string [Tracepoint event]
hwmon:hwmon_attr_store [Tracepoint event]
hyperv:hyperv_mmu_flush_tlb_others [Tracepoint event]
hyperv:hyperv_nested_flush_guest_mapping [Tracepoint event]
hyperv:hyperv_send_ipi_mask [Tracepoint event]
i2c:i2c_read [Tracepoint event]
i2c:i2c_reply [Tracepoint event]
i2c:i2c_result [Tracepoint event]
i2c:i2c_write [Tracepoint event]
initcall:initcall_finish [Tracepoint event]
initcall:initcall_level [Tracepoint event]
initcall:initcall_start [Tracepoint event]
iommu:add_device_to_group [Tracepoint event]
iommu:attach_device_to_domain [Tracepoint event]
iommu:detach_device_from_domain [Tracepoint event]
iommu:io_page_fault [Tracepoint event]
iommu:map [Tracepoint event]
iommu:remove_device_from_group [Tracepoint event]
iommu:unmap [Tracepoint event]
irq:irq_handler_entry [Tracepoint event]
irq:irq_handler_exit [Tracepoint event]
irq:softirq_entry [Tracepoint event]
irq:softirq_exit [Tracepoint event]
irq:softirq_raise [Tracepoint event]
irq_matrix:irq_matrix_alloc [Tracepoint event]
irq_matrix:irq_matrix_alloc_managed [Tracepoint event]
kmem:kfree [Tracepoint event]
kmem:kmalloc [Tracepoint event]
kmem:kmalloc_node [Tracepoint event]
kmem:kmem_cache_alloc [Tracepoint event]
kmem:kmem_cache_alloc_node [Tracepoint event]
kmem:kmem_cache_free [Tracepoint event]
libata:ata_eh_link_autopsy [Tracepoint event]
libata:ata_eh_link_autopsy_qc [Tracepoint event]
libata:ata_qc_complete_done [Tracepoint event]
mce:mce_record [Tracepoint event]
mdio:mdio_access [Tracepoint event]
migrate:mm_migrate_pages [Tracepoint event]
module:module_free [Tracepoint event]
module:module_get [Tracepoint event]
module:module_load [Tracepoint event]
module:module_put [Tracepoint event]
module:module_request [Tracepoint event]
msr:rdpmc [Tracepoint event]
msr:read_msr [Tracepoint event]
msr:write_msr [Tracepoint event]
napi:napi_poll [Tracepoint event]
net:napi_gro_frags_entry [Tracepoint event]
net:napi_gro_receive_entry [Tracepoint event]
net:net_dev_queue [Tracepoint event]
net:net_dev_start_xmit [Tracepoint event]
nvme:nvme_async_event [Tracepoint event]
nvme:nvme_complete_rq [Tracepoint event]
nvme:nvme_setup_cmd [Tracepoint event]
oom:compact_retry [Tracepoint event]
oom:finish_task_reaping [Tracepoint event]
oom:mark_victim [Tracepoint event]
oom:oom_score_adj_update [Tracepoint event]
oom:reclaim_retry_zone [Tracepoint event]
oom:skip_task_reaping [Tracepoint event]
oom:start_task_reaping [Tracepoint event]
oom:wake_reaper [Tracepoint event]
page_isolation:test_pages_isolated [Tracepoint event]
pagemap:mm_lru_activate [Tracepoint event]
pagemap:mm_lru_insertion [Tracepoint event]
percpu:percpu_alloc_percpu [Tracepoint event]
percpu:percpu_alloc_percpu_fail [Tracepoint event]
percpu:percpu_create_chunk [Tracepoint event]
percpu:percpu_destroy_chunk [Tracepoint event]
percpu:percpu_free_percpu [Tracepoint event]
power:clock_disable [Tracepoint event]
power:clock_enable [Tracepoint event]
power:clock_set_rate [Tracepoint event]
printk:console [Tracepoint event]
qdisc:qdisc_dequeue [Tracepoint event]
random:add_device_randomness [Tracepoint event]
random:add_disk_randomness [Tracepoint event]
random:add_input_randomness [Tracepoint event]
random:credit_entropy_bits [Tracepoint event]
random:debit_entropy [Tracepoint event]
random:extract_entropy [Tracepoint event]
ras:aer_event [Tracepoint event]
ras:arm_event [Tracepoint event]
ras:mc_event [Tracepoint event]
ras:memory_failure_event [Tracepoint event]
ras:non_standard_event [Tracepoint event]
raw_syscalls:sys_enter [Tracepoint event]
raw_syscalls:sys_exit [Tracepoint event]
rcu:rcu_utilization [Tracepoint event]
regmap:regcache_drop_region [Tracepoint event]
regmap:regcache_sync [Tracepoint event]
regmap:regmap_async_complete_done [Tracepoint event]
regmap:regmap_async_complete_start [Tracepoint event]
regmap:regmap_async_io_complete [Tracepoint event]
regmap:regmap_async_write_start [Tracepoint event]
rseq:rseq_ip_fixup [Tracepoint event]
rseq:rseq_update [Tracepoint event]
rtc:rtc_alarm_irq_enable [Tracepoint event]
rtc:rtc_irq_set_freq [Tracepoint event]
rtc:rtc_irq_set_state [Tracepoint event]
rtc:rtc_read_alarm [Tracepoint event]
rtc:rtc_read_offset [Tracepoint event]
rtc:rtc_read_time [Tracepoint event]
rtc:rtc_set_alarm [Tracepoint event]
rtc:rtc_set_offset [Tracepoint event]
rtc:rtc_set_time [Tracepoint event]
rtc:rtc_timer_dequeue [Tracepoint event]
rtc:rtc_timer_enqueue [Tracepoint event]
rtc:rtc_timer_fired [Tracepoint event]
sched:sched_kthread_stop [Tracepoint event]
sched:sched_kthread_stop_ret [Tracepoint event]
sched:sched_migrate_task [Tracepoint event]
sched:sched_move_numa [Tracepoint event]
smbus:smbus_write [Tracepoint event]
sock:inet_sock_set_state [Tracepoint event]
sock:sock_exceed_buf_limit [Tracepoint event]
sock:sock_rcvqueue_full [Tracepoint event]
spi:spi_controller_busy [Tracepoint event]
spi:spi_controller_idle [Tracepoint event]
spi:spi_message_done [Tracepoint event]
spi:spi_message_start [Tracepoint event]
spi:spi_message_submit [Tracepoint event]
spi:spi_transfer_start [Tracepoint event]
spi:spi_transfer_stop [Tracepoint event]
swiotlb:swiotlb_bounced [Tracepoint event]
syscalls:sys_enter_accept [Tracepoint event]
syscalls:sys_enter_accept4 [Tracepoint event]
syscalls:sys_enter_access [Tracepoint event]
syscalls:sys_enter_acct [Tracepoint event]
task:task_newtask [Tracepoint event]
task:task_rename [Tracepoint event]
tcp:tcp_destroy_sock [Tracepoint event]
tcp:tcp_probe [Tracepoint event]
tcp:tcp_rcv_space_adjust [Tracepoint event]
tcp:tcp_receive_reset [Tracepoint event]
tcp:tcp_retransmit_skb [Tracepoint event]
tcp:tcp_retransmit_synack [Tracepoint event]
tcp:tcp_send_reset [Tracepoint event]
thermal:cdev_update [Tracepoint event]
thermal:thermal_temperature [Tracepoint event]
thermal:thermal_zone_trip [Tracepoint event]
thermal_power_allocator:thermal_power_allocator [Tracepoint event]
thermal_power_allocator:thermal_power_allocator_pid [Tracepoint event]
timer:hrtimer_cancel [Tracepoint event]
timer:hrtimer_expire_entry [Tracepoint event]
timer:hrtimer_expire_exit [Tracepoint event]
vmscan:mm_vmscan_memcg_softlimit_reclaim_begin [Tracepoint event]
vmscan:mm_vmscan_memcg_softlimit_reclaim_end [Tracepoint event]
vmscan:mm_vmscan_wakeup_kswapd [Tracepoint event]
vmscan:mm_vmscan_writepage [Tracepoint event]
vsyscall:emulate_vsyscall [Tracepoint event]
workqueue:workqueue_activate_work [Tracepoint event]
workqueue:workqueue_execute_end [Tracepoint event]
workqueue:workqueue_execute_start [Tracepoint event]
workqueue:workqueue_queue_work [Tracepoint event]
writeback:balance_dirty_pages [Tracepoint event]
writeback:bdi_dirty_ratelimit [Tracepoint event]
writeback:global_dirty_state [Tracepoint event]
writeback:sb_clear_inode_writeback [Tracepoint event]
x86_fpu:x86_fpu_copy_src [Tracepoint event]
x86_fpu:x86_fpu_dropped [Tracepoint event]
x86_fpu:x86_fpu_init_state [Tracepoint event]
x86_fpu:x86_fpu_regs_activated [Tracepoint event]
x86_fpu:x86_fpu_regs_deactivated [Tracepoint event]
x86_fpu:x86_fpu_xstate_check_failed [Tracepoint event]
xdp:xdp_cpumap_enqueue [Tracepoint event]
xdp:xdp_cpumap_kthread [Tracepoint event]
xdp:xdp_devmap_xmit [Tracepoint event]
xdp:xdp_exception [Tracepoint event]
xdp:xdp_redirect [Tracepoint event]
xdp:xdp_redirect_err [Tracepoint event]
xen:xen_mmu_set_pte [Tracepoint event]
xen:xen_mmu_set_pte_at [Tracepoint event]
xen:xen_mmu_set_pud [Tracepoint event]
xen:xen_mmu_write_cr3 [Tracepoint event]
xfs:xfs_ag_resv_alloc_extent [Tracepoint event]
xfs:xfs_ag_resv_critical [Tracepoint event]
xfs:xfs_ag_resv_free [Tracepoint event]
xfs:xfs_ag_resv_free_error [Tracepoint event]
xfs:xfs_ag_resv_free_extent [Tracepoint event]
xfs:xfs_ag_resv_init [Tracepoint event]
xfs:xfs_ag_resv_init_error [Tracepoint event]
xhci-hcd:xhci_address_ctx [Tracepoint event]
xhci-hcd:xhci_alloc_dev [Tracepoint event]
xhci-hcd:xhci_alloc_virt_device [Tracepoint event]
xhci-hcd:xhci_configure_endpoint [Tracepoint event]
xhci-hcd:xhci_dbc_alloc_request [Tracepoint event]
xhci-hcd:xhci_dbc_free_request [Tracepoint event]
xhci-hcd:xhci_dbc_gadget_ep_queue [Tracepoint event]