[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