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

Jeremy Allison jra at samba.org
Thu Jul 29 18:21:32 GMT 2004


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