I am running a small script (attached) that timestamps file opens and closes.
When I am running it with real load I get tons of messages like dtrace: 79575 drops on CPU 12 dtrace: 140709 drops on CPU 13 dtrace: 125092 drops on CPU 14 dtrace: 38129 drops on CPU 15 ... and sometimes dtrace: error on enabled probe ID 4 (ID 10200: fbt:genunix:closeandsetf:entry): out of scratch space in action #2 at DIF offset 508 dtrace: error on enabled probe ID 2 (ID 6227: fbt:genunix:copen:return): out of scratch space in action #3 at DIF offset 28 dtrace: error on enabled probe ID 4 (ID 10200: fbt:genunix:closeandsetf:entry): out of scratch space in action #2 at DIF offset 508 dtrace: error on enabled probe ID 4 (ID 10200: fbt:genunix:closeandsetf:entry): out of scratch space in action #2 at DIF offset 508 dtrace: error on enabled probe ID 4 (ID 10200: fbt:genunix:closeandsetf:entry): out of scratch space in action #2 at DIF offset 508 Unfortunately DTrace is not telling what are these drops so I don't know what limit to tune (and why they are happening in the first place). ---------------------------------------------------------------------- #!/usr/sbin/dtrace -Cs #pragma ident $Id: openrace.d,v 1.2 2007/07/25 21:51:16 akolb Exp akolb $ #pragma D option aggsortrev #pragma D option quiet #pragma D option dynvarsize=4m #include <sys/types.h> #include <sys/file.h> inline uf_info_t curufinfo = curthread->t_procp->p_user.u_finfo; inline string curargs = curpsinfo->pr_psargs; inline string f_name[int fd] = (fd >= 0 && fd < curthread->t_procp->p_user.u_finfo.fi_nfiles ? (curufinfo.fi_list[fd].uf_file ? (curufinfo.fi_list[fd].uf_file->f_vnode->v_path != NULL ? cleanpath(curufinfo.fi_list[fd].uf_file->f_vnode->v_path) : "<unknown>") : "<unknown>") : "<unknown>"); fbt::copen:entry /curpsinfo->pr_projid == $1/ { self->opentime = walltimestamp; self->name = arg1; self->mode = !(args[2] & FREAD) ? 'W' : (args[2] == FREAD ? 'R' : 'M'); } fbt::copen:return /self->opentime && arg1 >= 0/ { printf("%d\t%c O %s %s %s\n", self->opentime, self->mode, copyinstr(self->name), cwd, curargs); } fbt::copen:return /self->opentime/ { self->opentime = 0; self->name = 0; self->mode = 0; } fbt::closeandsetf:entry /curpsinfo->pr_projid == $1/ { printf("%d\tC C %s %s %s\n", walltimestamp, f_name[arg0], cwd, curargs); } ---------------------------------------------------------------------- - akolb _______________________________________________ dtrace-discuss mailing list dtrace-discuss@opensolaris.org