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 .
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.
Basically my experience too.
File transfer speeds are fine, but just bringing up directory listings is painfully slow, never mind how long it takes to generate thumbnail previews compared to Windows or Linux.
MacOS seems to assume the server caches file META data and just performs like garbage without it. I just ended up moving back to Windows instead.
Hullo there.
Just stumbled across this. My experience on my personal LAN with both wired and wireless connections has not been that extreme. Opening folder windows does feel less snappy but I’d say 3-7 seconds. Ditto for when I used to administer Mac’s and Synology NAS’s for work (all on a 1GbE wired LAN).
From your screenie futher up the chain I would suggest you enable “SMB Multichannel” which came in with SMB3.x (I think ?). That is supported in newer MacOS variants (I’m on 12.7 Montery on an M2 MBP if that helps).
Doing this with Linux hosts seemed to help when I first enabled it. I seem to recall that I forced SMB3-only on my Synollogy DS-1821+ which helped there but that’s easier for a personal network!
Also worth keeping an eye on, is Jeff Geerling who has written about this too:
macOS Finder is still bad at network file copies
He notes that you can check if client connections are SMB-multichannel enabled via:
smbutil statshares -a
This will show up early on after the “SMB_NEGOTIATE” stanzas. In my case, mounting my "media share is correctly shows:
SMB_VERSION SMB_3.1.1
Some time ago I asked in this forum about using my Synology’s NVMe slots as metadata cache. Based on the suggestion from the Syno cache advisor and a friendly person here, I didn’t bother as it would have helped little. But is there a way you can ensure that MacOS’s “.DS_Store” files are kept in the cache aggresssivley?
Finally with TrueNAS I seem to recall reading on their forums that MacOS character compatibility should be ENABLED. That is the “Use Apple-style Character Encoding” checkbox in your screenie above.
HTH!
1 Like