I'm assuming you are using some version of Solaris >= s10u4.
If so, you can use the nscd.d dtrace script located here:
http://hub.opensolaris.org/bin/view/Project+sparks/dtrace
and it should help track down what is happening.
nscd.d will monitor nscd, which is normally where all getXbyYs
actually get processed and nscd.d can help track the requests
being made.
Normally nscd (svc:/system/name-service-cache:default) should
not be disabled. If it is, that may be the root of your
problem. If so, you should re-enable it. nscd should be
caching all dns lookups by default, so in general you should
have a high cache hit rate, and the dns server should not
be overloaded from requests generated by a single machine.
Also double check your nscd.conf script to make sure nscd's
hosts cache has not been turned off.
Doug.
Michael Schuster wrote:
Mike Chanslor wrote:
Gurus,
Have Sun T2000 with Solaris10 U7 and hundreds of user process. Someone
is making queries(about two a second from snooping...)
Globally I am trying to find gethostbyname
$ dtrace -n syscall:::gethostbyname'{...@[execname] = count()}'
dtrace: invalid probe specifier syscall:::gethostbyna...@[execname] =
count()}: probe description syscall:::gethostbyname does not match any
probes
$ dtrace -n syscall::gethostbyname:entry'{...@[execname] = count()}'
dtrace: invalid probe specifier
syscall::gethostbyname:ent...@[execname] = count()}: probe description
syscall::gethostbyname:entry does not match any probes
gethostbyname is a library call, not a system call; you can trace
library calls with the pid provider, but sadly that only works as a
per-process basis, so you can't just replace "syscall" with "pid..."
above and be done.
I can't help much more, but maybe focussing on the network tools can
gain you some more knowledge here.
HTH
Michael
_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org