当Windows 8客户端连接时,SMBD守护程序在CPU使用率达到100%时会出现峰值

我有一台运行Ubuntu 12.04的服务器作为Samba服务器运行。 文件系统是LVM物理驱动器池上的XFS格式的虚拟驱动器。

我最近将客户升级到了Windows 8,我注意到在Ubuntu服务器上连接SMB共享的客户端有6-8秒的延迟。 在Windows 7中,没有这样的延迟。 在Ubuntu服务器上,在初始连接到共享期间,SMBD进程在几秒钟内达到100%的CPU使用率。

strace显示smbd在连接期间一遍又一遍地打开/ etc / passwd。 我的客户应该作为访客连接(不authentication)。

 open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 28 _llseek(28, 0, [0], SEEK_CUR) = 0 fstat64(28, {st_mode=S_IFREG|0644, st_size=1568, ...}) = 0 mmap2(NULL, 1568, PROT_READ, MAP_SHARED, 28, 0) = 0xb6de2000 _llseek(28, 1568, [1568], SEEK_SET) = 0 fstat64(28, {st_mode=S_IFREG|0644, st_size=1568, ...}) = 0 munmap(0xb6de2000, 1568) = 0 close(28) = 0 open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 28 _llseek(28, 0, [0], SEEK_CUR) = 0 fstat64(28, {st_mode=S_IFREG|0644, st_size=1568, ...}) = 0 mmap2(NULL, 1568, PROT_READ, MAP_SHARED, 28, 0) = 0xb6de2000 _llseek(28, 1568, [1568], SEEK_SET) = 0 fstat64(28, {st_mode=S_IFREG|0644, st_size=1568, ...}) = 0 munmap(0xb6de2000, 1568) = 0 close(28) ... repeats over and over ... 

我知道,自Windows 7以来,Windows 8中的SMB实现已经发生了变化。我可以对smb.conf进行更改,以解决CPU使用率高峰的问题吗?

通过在smb.conf中进行以下更改,我能够通过从Windows 8login来解决延迟问题:

 encrypt passwords = yes