Poor SMB Performance - MacOS

Hi all, first post here but long time viewer of Level1.

I was conflicted on whether to put this in Networking or MacOS so if this is the wrong place feel free to delete the post or move it to the appropriate location. I wish I could run Linux but my work laptop is an M2 Max Macbook Pro and Asahi still doesn’t support TB which I use daily.

Simply put I am fed up with SMB performance on MacOS (14.6.1). Sometimes it runs wonderfully, sometimes It takes 45 seconds to open a folder, sometimes it completely locks up Finder. Frankly put, I have no idea how content creators use MacOS based products and any NAS appliance. It just isn’t reliable. At all. Even my NFS shares sometimes become a bit sluggish - again an issue only my Macbook ‘Pro’ experiences.

I have found no pattern; It both works and doesn’t when hardwired in via 2.5Gb/1Gb USB-C controllers or when I am on my AP. Other devices, such as my Linux laptop and Ubuntu server VM always access the share without issue - including when my Macbook is having problems. I can go retrieve my Linux laptop from the basement, cold boot it, and copy/edit/delete the files I wanted to modify while my Macbook struggles to simply load the root directory. When monitoring the SMB connection on the Macbook during these times (smbutil statshares -a), I can see the reconnects skyrocket.

Any ideas would be great as I have tried all of the solutions I could find online (but I could be missing something very obvious).

My Setup

Firewall + Main Switch (Fire)

Old Aruba Switch via SFP+ Port ↔ OPNsense

Network SMB Share

TrueNAS Scale SMB ↔ Fire ↔ Clients

Direct TrueNAS Share

TrueNAS SMB ↔ Proxmox ↔ Bridge ↔ VM

SMB Configs

MacOS nsmb.conf

[default]
signing_required=no # set by the first command mentioned below
soft = yes
streams=yes
dir_cache_off=yes
port445=np_netbios
notify_off=yes
mc_prefer_wired=yes
protocol_vers_map=4
#  I have tried running the following commands:
### printf "[default]\nsigning_required=no\n" | sudo tee /etc/nsmb.conf >/dev/null
### defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE

TrueNAS Share Config



![image|314x550, 100%]upload://v450uYBjib3cmp1fv7pli32YX3P.png
(Third image removed due to account limitations)

Attempting to post the third image again:

1 Like

Simplest thing to try since it appears to only impact one client device is to replace the ethernet cable and move switch port to the client.
Then hard code the speed on both ends (switch and client).
Not a MAC person so no help within the OS but perhaps there is some other activity either on the device or going over the network that is consuming IOPS/bandwidth/cpu resources? Some sort of backup or other hidden task. If there is a way to use the switch to monitor that port traffic, you might capture some info. Same for on the client device, a “system resource” application to see what the various things are going on when it happens vs a baseline.
This is going to be a trial and error effort.

Thanks for your reply :slight_smile:.

Yeah, I have tried multiple negotiated speeds on multiple USB NIC’s using various ethernet cables without any luck establishing a pattern. Good idea to check though!

I wondered if some sort of local process was tying up the server but I can have 2 or 3 clients actively engaged with the share without any issues while the Macbook struggles. Even just loading small folders over SMB sometimes chokes the connection while my Linux laptop browses as if the share is on the NVME drive. It’s maddening and sometimes I wonder if I am going nuts haha.

SMB and network sharing in general is also known to be problematic on MacOS. There are a lot of tweaks recommended, but none seem to get rid of the issue for me. Since the issue is extreme and isolated I wonder if I am missing an obvious configuration problem on the Mac or perhaps something I can tweak on the TrueNAS side to get it to work a bit better.