答复: [Samba] The memory maybe leak in samba 4.3.11

Volker Lendecke Volker.Lendecke at SerNet.DE
Fri May 12 05:53:56 UTC 2017


On Fri, May 12, 2017 at 01:35:46AM +0000, Zhangxiaoxu wrote:
> Thanks a lot.
> 
> > Do you have processes in D state or processes using 100% CPU continuously?
> Yes, if open the folder which is writing by itself and another
> client in windows explorer, the process will always in D state, and
> the CPU is higher.
> I notice that, the client will send `change notify request`, then
> the smbd will receive a lot of message with code 0x310.
> If the client receive the 'change notify response', it will send
> 'query directory request' to server.

That works as designed. That is what file change notify is for. The
question is -- what is the process doing that can not receive the
messages? Is the sendmsg error code really EINTR, or is it
EAGAIN/EWOULDBLOCK? If you strace the sending process, you should find
the destination socket in the sendmsg calls, and you should
investigate why the receiving process can't pick up the messages it
should receive.

> > It might be that some message receiver does not pick up its messages at all.
> Any idea about the case?
> 
> How do you think the solution:
> keep the message queue length to 100 or more, and drop the other
> messages in 'queue_msg' function.

It will help with the memory leak, but in a well-working system we
should never pile up messages. Something is going wrong in your system
that should be investigated. See above.

Volker

-- 
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt at sernet.de



More information about the samba-technical mailing list