memory overhead and embedded Samba

Martin Zielinski mz at
Mon Jan 24 09:49:20 GMT 2005


On Monday 24 January 2005 04:10, Christopher R. Hertel wrote:
> On Mon, Jan 24, 2005 at 01:52:03PM +1100, Andrew Tridgell wrote:
> > I've been thinking about possible new applications of Samba4 beyond
> > where Samba3 has already been deployed. One possible application is
> > for Samba4 to support very low memory configurations, so you can
> > create a functional micro-server. The sort of thing I am imagining is
We've actually made the experience, that the memory is the limiting factor on 
tiny linux devices. Even a StrongArm110 CPU (comparable to a 200MHz Pentium) 
can easily handle more than one hundred clients that perform printing and 
file sharing tasks. But as soon as the system starts to swap-out memory, it 
breaks everything.

> > a tiny embedded Linux box (something like the Linksys WRT54GS wireless
> > gateway),

Not so fancy, but we're printing over one of them (since 2.2.x).

> ...or the Linksys NLU2, which is Samba 2 on X-Scale on embedded Linux.
> (Not sure if there's an MMU...)
The XScale CPUs IXP4xx have  MMUs. 
The Speed ranges from 266 to 533 MHz.
It supports up to 256 MB SDRAM memory.
> > but with a firmware that implements an active directory
> > domain controller based on Samba4.
> ...or stripped down to just file or print servers.  There are a handful of
> embedded CIFS stacks out there, such as the BluePeach implementation we
> saw at the last CIFS conference.
> An embedded CIFS stack is one of the several ideas I had in mind when I
> started jCIFS.  That's not what it turned out to be, but that's okay...
> There was someone who got jCIFS (don't remember if it was ours or
> Norbert's) to run on the Tini board
> (
> > This could make for a very useful
> > little office device. Another application could be a NFS->CIFS
> > gateway, allowing you to put a tiny server in place to allow your
> > existing NFS servers to server up CIFS.
> There are a whole lot of other possibilities here, including a WAFS
> back-end.
> > The key to these sorts of applications in low memory overhead. I've
> > been measuring the "per client" overhead in Samba4, and it currently
> > runs at about 15k per connected client when in -M single mode. That is
> > vastly lower than Samba3, so it certainly opens up the possibility of
> > making these sorts of micro-servers a reality. With the dynamic
> > mangled cache size I mentioned in my last email that per connection
> > overhead will drop to about 10k (we have 5k of data sitting around in
> > the mangled cache at the moment).

> >
> > So in a little device like the WRT54GS with 32M of ram you could quite
> > happily have several hundred users connected to your server, as long
> > the CPU can keep up. The typical load on a domain controller is quite
> > low, so I think this will not be a problem.
> >
> > Does anyone have any other uses for this sort of tiny footprint CIFS
> > server?
We tried it. Now we're using 256MB RAM because of the reasons you mentioned.
> Lots.  I've been thinking about this kind of thing for a long time...
> Chris -)-----
I'll get the Samba-4 code and start playing around on our device. Your idea 
sounds great. I hope to have time to do something usefull with it.


Martin Zielinski                       mz at
Software Development
SEH Computertechnik GmbH

More information about the samba-technical mailing list