我们运行一个小型 CentOS 服务器作为测试环境,员工通过 Samba 共享(从 Mac 和 PC 的组合)连接到该服务器。
smbd 服务占用了 5-10% 的 CPU每用户 - 这似乎有点过分。尤其是服务器是新的四核。
Mac 用户似乎会导致更高的 CPU 负载(接近 10%)并且连接速度出现更多问题。
是否有任何设置或配置更改可以降低 CPU(并希望加快 Mac 的连接速度)
/etc/samba/smb.conf 的内容
# Global Parameters
[global]
workgroup = Foo
netbios name = Bar
; encrypt passwords = yes
username map = /etc/samba/smbusers
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
[websites]
path = /var/www/sites
; browseable = yes
write list = foobar, barfoo
; writeable = no
valid users = foobar, barfoo
答案1
你检查过wait
时间吗?上面iostat
说了什么?如果你有存储瓶颈,有时会出现 CPU 使用率过高的情况。
我有一个繁忙的文件服务器,使用 Samba 为 30-50 个同时运行的 Mac 客户端(所有客户端都使用千兆以太网,处理巨大的 Photoshop 文件)提供服务,CPU 为双核 CPU。最大的因素是 RAM(用于缓存)。每次用户数量或工作量增加时,我都会添加一些额外的 RAM,而大多数工具报告的 CPU 使用率会大幅下降,响应速度仍然很高。
答案2
如果有另一个域控制器,请在中添加/编辑以下参数/etc/smb.conf
:
domain master = no
local master = no
preferred master = no
os level = 0
使 Samba 永远不会成为主浏览器。重新启动 Samba 以查看是否有帮助。