/usr/share/systemtap/examples/memory
NameSizeModeActions
cachestat.meta5450644editdlrm
cachestat.stp13180755editdlrm
glibc-malloc.meta3810644editdlrm
glibc-malloc.stp24860755editdlrm
hugepage_clear_delays.meta9460644editdlrm
hugepage_clear_delays.stp4830755editdlrm
hugepage_collapse.meta7180644editdlrm
hugepage_collapse.stp1590755editdlrm
hugepage_cow_delays.meta11060644editdlrm
hugepage_cow_delays.stp4750755editdlrm
hugepage_split.meta7560644editdlrm
hugepage_split.stp1530755editdlrm
hw_watch_addr.meta7870644editdlrm
hw_watch_addr.stp1670755editdlrm
hw_watch_addr.tcl970644editdlrm
hw_watch_sym.meta7150644editdlrm
hw_watch_sym.stp1670755editdlrm
hw_watch_sym.tcl970644editdlrm
kmalloc-top38880755editdlrm
kmalloc-top.meta6950644editdlrm
last_100_frees.meta4200644editdlrm
last_100_frees.stp8030755editdlrm
last_100_frees.tcl790644editdlrm
last_100_frees.txt7740644editdlrm
mmanonpage.meta12250644editdlrm
mmanonpage.stp18160755editdlrm
mmfilepage.meta10330644editdlrm
mmfilepage.stp35370755editdlrm
mmreclaim.meta6060644editdlrm
mmreclaim.stp52320755editdlrm
mmwriteback.meta11140644editdlrm
mmwriteback.stp19000755editdlrm
numa_faults.meta7020644editdlrm
numa_faults.stp9730755editdlrm
numa_faults.txt17100644editdlrm
overcommit.meta5840644editdlrm
overcommit.stp2170755editdlrm
pfaults.meta7440644editdlrm
pfaults.stp8750755editdlrm
pfaults.txt5580644editdlrm
vm.tracepoints.meta6080644editdlrm
vm.tracepoints.stp4140755editdlrm
vm.tracepoints.txt5570644editdlrm
Edit: /usr/share/systemtap/examples/memory/mmwriteback.stp (1900B)
#!/usr/bin/stap global traced_pid, command global pgout, bgwriteout, kupdate function log_event:long () { return (!traced_pid || traced_pid == pid()) } probe kernel.trace("balance_dirty_pages") !, # v3.2+ kernel.trace("mm_balancedirty_writeout") !, # RHEL6(2.6.32) kernel.trace("mm_pdflush_bgwriteout") # RHEL5(2.6.18) { if (!log_event()) next bgwriteout[pid()] <<< (@defined($dirtied) ? $dirtied : (@defined($written) ? $written : $count)) command[pid()] = execname() } probe kernel.trace("writeback_pages_written") !, # v2.6.36+ # & RHEL6(2.6.32) kernel.trace("mm_pdflush_kupdate") # RHEL5(2.6.18) { if (!log_event()) next kupdate[pid()] <<< (@defined($pages_written) ? $pages_written : $count) command[pid()] = execname() } probe kernel.trace("mm_vmscan_writepage") !, # v2.6.36+ # & RHEL6(2.6.32) kernel.trace("mm_pagereclaim_pgout") # RHEL5(2.6.18) # & RHEL6(2.6.32) { if (!log_event()) next pgout[pid()] <<< 1 command[pid()] = execname() } probe begin { printf("Starting data collection\n") if (target()) printf("mode Specific Pid, traced pid: %d\n\n", target()) else printf("mode - All Pids\n\n") } probe end, error { printf("Terminating data collection\n") printf(" Pdflush Pdflush Kupdate Kupdate Pgout\n") printf("Command Pid count sum count sum count\n") printf("------- --- ------- ------- ------- ------- -----\n") foreach (pid+ in command) printf("%-16s %10d %10d %10d %10d %10d %11d\n", command[pid], pid, @count(bgwriteout[pid]), (@count(bgwriteout[pid]) ? @sum(bgwriteout[pid]) : 0), @count(kupdate[pid]), (@count(kupdate[pid]) ? @sum(kupdate[pid]) : 0), @count(pgout[pid])) }