smbd holds 70% cpu
Nir Livni
nirl at cyber-ark.com
Wed Jul 30 16:41:39 GMT 2003
> David Collier-Brown wrote:
>
> Nir Livni wrote:
> > Hi all,
> >
> > I have an smbd process (the main smbd process) that holds 70% CPU.
> > (RedHat 8.0 , samba-2.2.8a)
> >
> > I used strace and it seems the process is inside a "select"
> function.
> > (Only one select function in strace output).
>
> We see this phenomenon in C code with some regularity,
> select/poll spinning either on an event or a timeout.
>
> Look at the call, which has the form
> int select(int nfds, fd_set *readfds, fd_set *writefds,
> fd_set *errorfds, struct timeval *timeout);
>
> Firstly, see how often it's happening, either by
> reading the contents of the timeval or just counting
> seconds (;-))
>
> Next llok at the return value: -1 for an error (check errno)
> 0 for a timeout, and a non-zero number if at elast one
> fd reorted something.
>
Does this one look like a reasonable select ?
select(1024, [29 30], NULL, NULL, NULL) = ? ERESTARTNOHAND (To be
restarted).
> Then see which of the fdset pointers in non-null.
> Look at these and see which bits are set, which will
> tell you which fd is reporting the read, write or error.
>
> Then send it a signal to make it break out of the select for
> a bit: SIGUSR1 is probably a good one to try.
>
> --dave
> --
> David Collier-Brown, | Always do right. This will gratify
> Sun Microsystems DCMO | some people and astonish the rest.
> Toronto, Ontario |
> (905) 415-2849 or x52849 | davecb at canada.sun.com
>
>
>
More information about the samba-technical
mailing list