Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Mar 2012 08:16:57 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-net@freebsd.org
Cc:        Traiano Welcome <Traiano.Welcome@mtnbusiness.co.za>
Subject:   Re: FreeBSD: syslog-ng: I/O error occurred while writing; fd='xx', error='No buffer space available (yy)'
Message-ID:  <201203220816.58217.jhb@freebsd.org>
In-Reply-To: <CB90C586.DD60%traiano.welcome@mtnbusiness.co.za>
References:  <CB90C586.DD60%traiano.welcome@mtnbusiness.co.za>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, March 22, 2012 6:03:21 am Traiano Welcome wrote:
> Hi List
> 
> I've been seeing the following in the messages log of my freebsd syslog
> server for quite some time now:
> 
> ---
> Mar 20 12:19:12 syslog2 syslog-ng[35313]: I/O error occurred while
> writing; fd='12', error='No buffer space available (55)'
> Mar 20 12:19:12 syslog2 syslog-ng[35313]: Connection broken;
> time_reopen='60'
> Mar 20 12:19:12 syslog2 syslog-ng[35313]: I/O error occurred while
> writing; fd='13', error='No buffer space available (55)'
> Mar 20 12:19:12 syslog2 syslog-ng[35313]: Connection broken;
> time_reopen='60'
> ---
> 
> These happen at a frequency of about 7 per minute on average. See attached
> trend graphs for an idea of the volume of traffic we're doing, as well as
> the memory and cpu utilisation trends on this server during this period.
> As can be seen from the graphs, load does not seem to be the issue.
> Occasionally during the week, the system freezes and requires a reboot, I
> think it's related to the above message, though I'm not sure.
> 
> My question is: What does this error mean, and how can I resolve it?
> 
> I have tried to frame this as an operating system kernel resource issue,
> and experimented with increasing the freebsd kernel sysctls for UDP
> performance:

It means that the network driver has "filled" up with packets.  Are you using 
igb(4)?  We have to crank the number of descriptors assigned to igb to the max 
to workaround this at work (we get DNS timeouts during a simple boot 
otherwise).  hw.igb.maxtxd is the tunable you would set.  The max value you 
can set it to is 4096.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203220816.58217.jhb>