如何减少 CentOS 服务器上的 Samba CPU 使用率?

如何减少 CentOS 服务器上的 Samba CPU 使用率?

我们运行一个小型 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 以查看是否有帮助。

相关内容