#!/usr/sbin/dtrace -s #pragma D option quiet sched:::on-cpu /pid == $1/ { self->on = vtimestamp; } sched:::off-cpu /self->on/ { @time[""] = sum(vtimestamp - self->on); self->on = 0; } vminfo:::anonpgin /pid == $1/ { self->anon = 1; } :::pageio_setup:return /pid == $1/ { self->wait = timestamp; } :::pageio_done:entry /self->anon == 1/ { self->anon = 0; @time[""] = sum(timestamp - self->wait); self->wait = 0; } tick-5s { printf("\033[H\033[2J"); printf("Time breakdown (milliseconds):\n"); normalize(@time, 1000000); printa(" %-50s %15@d\n", @time); trunc(@time); }