I've currently got a samba 4.0.6-GIT-3f8ea16 deployment that's spawning
many  (250 or more) smbd processes whenever a backup runs and starts backing up
files that have samba ACL's attached to them.  (Such as the 'sysvol'
volume)  This will effectively lock up the machine until I've restarted
samba and killed the backup job.  If the backup is still running, samba will
immediately spawn smbd processes again.
My machine is a 64-bit CentOS 6.4 server with 16 GB of RAM and an Intel 8-core
Xeon processor.  Kernel is the stock CentOS 2.6.32-358.2.1.el6.x86_64.  The
Samba part of this runs fine from the Windows perspective (that is, until the
backup system kicks in).
I setup my samba4 server per the instructions on the samba wiki.  Specifically,
I followed the winbind setup instructions from here:
http://wiki.samba.org/index.php/Samba4/Winbind
In a nutshell, I had to create these sym-links:
ln -s /usr/local/samba/lib/libnss_winbind.so.2 /lib64/libnss_winbind.so
ln -s /lib64/libnss_winbind.so /lib64/libnss_winbind.so.2
and edit my nsswitch.conf file as follows:
passwd:     files winbind
shadow:     files 
group:      files winbind
All of the suggested testing on that page works great.
After a fresh samba restart, without anything running,  things look like this:
[root at server ~]# ps ax | grep samba
 21420 ?        Ss     0:00 /usr/local/samba/sbin/samba
 21422 ?        S      0:00 /usr/local/samba/sbin/samba
 21423 ?        S      0:00 /usr/local/samba/sbin/samba
 21424 ?        Ss     0:00 /usr/local/samba/sbin/smbd --option=server role
check:inhibit=yes --foreground
 21425 ?        S      0:00 /usr/local/samba/sbin/samba
 21426 ?        S      0:00 /usr/local/samba/sbin/samba
 21427 ?        S      0:00 /usr/local/samba/sbin/samba
 21428 ?        S      0:00 /usr/local/samba/sbin/samba
 21429 ?        S      0:00 /usr/local/samba/sbin/samba
 21430 ?        S      0:00 /usr/local/samba/sbin/samba
 21431 ?        S      0:00 /usr/local/samba/sbin/samba
 21432 ?        S      0:00 /usr/local/samba/sbin/samba
 21433 ?        S      0:00 /usr/local/samba/sbin/samba
 21434 ?        S      0:00 /usr/local/samba/sbin/samba
 21435 ?        S      0:00 /usr/local/samba/sbin/samba
 21438 ?        S      0:00 /usr/local/samba/sbin/smbd --option=server role
check:inhibit=yes --foreground
[root at server ~]# ps ax | grep samba | wc -l
17
When a backup job kicks in, I'll see hundreds of lines similar to :
 22026 ?        S      0:00 /usr/local/samba/sbin/smbd --option=server role
check:inhibit=yes --foreground
 22043 ?        S      0:00 /usr/local/samba/sbin/smbd --option=server role
check:inhibit=yes --foreground
 22044 ?        S      0:00 /usr/local/samba/sbin/smbd --option=server role
check:inhibit=yes --foreground
and I have the approximate number of samba processes:
[root at server ~]# ps ax | grep samba | wc -l
258
smbstatus will look like this, but with many more lines:
[root at server ~]# smbstatus
Samba version 4.0.6-GIT-3f8ea16
PID     Username      Group         Machine                        
-------------------------------------------------------------------
21809     KAUKAUNA\SERVER$  KAUKAUNA\Domain Controllers  192.168.150.1
(ipv4:192.168.150.1:56761)
21796     KAUKAUNA\SERVER$  KAUKAUNA\Domain Controllers  192.168.150.1
(ipv4:192.168.150.1:56748)
21771     KAUKAUNA\SERVER$  KAUKAUNA\Domain Controllers  192.168.150.1
(ipv4:192.168.150.1:56722)
If I engage Name Service Cache Daemon (nscd), then the backup will run just
fine, and I don't sen to get an extraordinary number of samba processes. 
(It will bump up to about 27, but stays there.) Unfortunately, nscd
doesn't' seem to play well with Samba4's internal winbind system. 
The "id <username>" command will only return results for some of
the users.  And Apache PAM authentication stops working with unusual errors. 
(Both of which work fine when nscd isn't running.)
I've been looking at setting up SSSD, but I get the feeling that's not
quite what I'm looking for either.  I get the impression that it does
it's own ID mapping, which would probably differ from the internal
winbind's mapping.  Please correct me if I'm wrong on this.
If I turn off the libnss_winbind part, there seem to be some other issues that
crop up, such as users unable to log into their own home folders.
It seems that I need to either:
1.)  Figure out how to make the internal winbind server behave when doing lots
of libnss_winbind look-ups
2.)  Figure out how to take the load off winbind by using nscd and figure out
how to make that work reliably with other things (like id <username> or
apache mod_auth_pam)
3.)  Perhaps figure out sssd (which I haven't gotten to work yet, but
haven't spent a ton of time on.)
If anyone has some suggestions or pointers, I'd be eternally grateful.  
Thanks!
-Joe
My smb.conf:
# Global parameters
[global]
        workgroup = KAUKAUNA
        realm = KAUKAUNA.NEWSPUB
        netbios name = SERVER
        server role = active directory domain controller
        server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, winbind,
drepl, ntp_signd, kcc, dnsupdate, dns
        log level = 1
        #idmap config * : range = 16777216-33554431
        #idmap config * : backend = ad
        hide unreadable = yes
        allow dns updates = enabled
        dns forwarder = 8.8.8.8
        nsupdate command = /usr/local/samba/sbin/samba_dnsupdate
        map archive = no
        map readonly = no
        map hidden = no
        map system = no
        store dos attributes = yes
        winbind enum users  = yes
        winbind enum groups = yes
[netlogon]
        path = /home/samba/sysvol/kaukauna.newspub/scripts
        read only = No
        browseable = No
[sysvol]
        path = /home/samba/sysvol
        read only = No
        browseable = No
[homes]
        path = /home/KAUKAUNA/%S
        browsable = no
        writeable = yes
        valid users = %S
        create mask = 0600
        directory mask = 0700
        root preexec = /usr/local/sbin/mkhomedir.sh %U
        kernel oplocks = no
        level2 oplocks = yes