[Samba] Samba 3.0.x and high processor utilication caused by /etc/passwd access

Heiko Boeringer heiko.boeringer at epost.de
Thu Jul 29 23:04:14 GMT 2004


Jeremy,

seems not to help. I have disabled nscd with /etc/init.d/nscd stop but 
the situation keeps unchanged. A few minutes after stopping and starting 
samba I have the same situation. Here is may nsswitch.conf. What should 
I change in it? Do you have any other idea?

regads, Heiko

/etc/nsswitch.conf
##########################################################################
passwd:         compat
group:          compat
shadow:         compat
hosts:          files dns
networks:       files
protocols:      db files
services:       db files
ethers:         db files
rpc:            db files
netgroup:       nis


Jeremy Allison wrote:

>On Thu, Jul 29, 2004 at 08:18:22PM +0200, Böringer, Heiko wrote:
>  
>
>>Hello together,
>>
>>since upgrading on samba 3.0.x (issue happens with all 3.0. release) the
>>cpu-load on my samba PDC ist constantly near 100%. The cpu power ist
>>consumed by all running smb-processes. Systrace shows me that the smb
>>processes tried to access to /etc/passwd on a permanent basis. My question
>>is: Why tries samba to access etc/passwd so often and produces this high
>>cpu-load?
>>
>>Regards,
>>Heiko Böringer
>>
>>Rights for smbpasswd are set as following
>>################################################################
>>-rw-r--r--    1 root     root         5540 Jul 27 15:15 passwd
>>
>>Systemconfiguration
>>################################################################
>>- Debian 3.0 (Woddy)
>>- Samba with an the samba3.0.5.deb from the unstable tree (but happends
>>with
>>all other versions too)
>>- Configured als PDC with SMBPASSWD Authentification (no windbind, kerberos,
>>ldap..)
>>
>>TOP shows the following
>>################################################################
>>  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
>>19094 nobody    18   0  3872 3872  3440 R     8.7  0.7  43:22 smbd
>> 5213 nobody    18   0  3784 3784  3400 R     8.7  0.7  29:43 smbd
>> 9345 nobody    17   0  4100 4100  3628 R     8.7  0.7  29:24 smbd
>>10237 nobody    19   0  3772 3772  3400 R     8.7  0.7  29:06 smbd
>>17121 nobody    17   0  4140 4140  3632 R     8.7  0.8  28:02 smbd
>>20776 nobody    18   0  3668 3668  3324 R     8.7  0.7  27:48 smbd
>>17915 nobody    18   0  3768 3768  3388 R     8.7  0.7  46:35 smbd
>>18441 nobody    17   0  4128 4128  3640 R     8.5  0.7  45:16 smbd
>>25605 nobody    18   0  3784 3784  3400 R     8.5  0.7   6:38 smbd
>> 1065 root      16   0  5504 5504  3928 R     7.1  1.0   0:59 smbd
>>28475 root       9   0  4280 4280  3700 S     0.3  0.8   0:02 smbd
>>
>>
>>Systrace on one of the smbd processes shows the following:
>>################################################################
>>open("/etc/passwd", O_RDONLY)           = 26
>>fcntl64(26, F_GETFD)                    = 0
>>fcntl64(26, F_SETFD, FD_CLOEXEC)        = 0
>>_llseek(26, 0, [0], SEEK_CUR)           = 0
>>fstat64(26, {st_mode=S_IFREG|0644, st_size=5540, ...}) = 0
>>mmap2(NULL, 5540, PROT_READ, MAP_SHARED, 26, 0) = 0x40510000
>>_llseek(26, 5540, [5540], SEEK_SET)     = 0
>>fstat64(26, {st_mode=S_IFREG|0644, st_size=5540, ...}) = 0
>>munmap(0x40510000, 5540)                = 0
>>close(26)                               = 0
>>open("/etc/passwd", O_RDONLY)           = 26
>>fcntl64(26, F_GETFD)                    = 0
>>fcntl64(26, F_SETFD, FD_CLOEXEC)        = 0
>>_llseek(26, 0, [0], SEEK_CUR)           = 0
>>fstat64(26, {st_mode=S_IFREG|0644, st_size=5540, ...}) = 0
>>mmap2(NULL, 5540, PROT_READ, MAP_SHARED, 26, 0) = 0x40510000
>>_llseek(26, 5540, [5540], SEEK_SET)     = 0
>>fstat64(26, {st_mode=S_IFREG|0644, st_size=5540, ...}) = 0
>>munmap(0x40510000, 5540)                = 0
>>close(26)                               = 0
>>open("/etc/passwd", O_RDONLY)           = 26
>>fcntl64(26, F_GETFD)                    = 0
>>fcntl64(26, F_SETFD, FD_CLOEXEC)        = 0
>>_llseek(26, 0, [0], SEEK_CUR)           = 0
>>fstat64(26, {st_mode=S_IFREG|0644, st_size=5540, ...}) = 0
>>mmap2(NULL, 5540, PROT_READ, MAP_SHARED, 26, 0) = 0x40510000
>>_llseek(26, 5540, [5540], SEEK_SET)     = 0
>>fstat64(26, {st_mode=S_IFREG|0644, st_size=5540, ...}) = 0
>>munmap(0x40510000, 5540)                = 0
>>close(26)                               = 0
>>socket(PF_UNIX, SOCK_STREAM, 0)         = 26
>>connect(26, {sin_family=AF_UNIX, path="/var/run/.nscd_socket"}, 110) = -1
>>ECONNREFUSED (Connection refused)
>>close(26)                               = 0
>>    
>>
>
>Looks like a nsswitch bug whilst talking to nscd. Turn off
>nscd from nsswitch.conf and see if the problem still occurs.
>
>Jeremy.
>
>  
>



More information about the samba mailing list