Adjust SMB browsing behavior in macOS High Sierra 10.13 and later

In macOS High Sierra 10.13 and later, the default settings for browsing network folders such as Server Message Block (SMB) shares are ideal for most organizations and users. But you can make adjustments to optimize SMB browsing in enterprise environments.

This article is intended for enterprise and education system administrators.

Your Mac determines how each window and its contents should appear by collecting file information such as labels, tags, and other forms of metadata.

In macOS Sierra 10.12 and earlier, your Mac gathers all metadata for the files in a folder, compares it to the folder's .DS_Store file, and then displays the folder's contents. In macOS High Sierra 10.13 and later, this behavior is changed slightly: If a folder is sorted alphanumerically, the contents are displayed immediately, then the Finder collects and compares the rest of the folder's metadata.

You can adjust macOS High Sierra 10.13 and later to make browsing faster on network shares, or to force the Finder to gather all available metadata before showing folder contents.

Speed up browsing on network shares

To speed up SMB file browsing, you can prevent macOS from reading .DS_Store files on SMB shares. This makes the Finder use only basic information to immediately display each folder's contents in alphanumeric order. Use this Terminal command:

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE

Then log out of your macOS account and log back in.

To reenable sorting, use this command:

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool FALSE

Disable directory caching

Your Mac caches file and folder metadata temporarily in local memory. This improves browsing speeds, especially on high-latency networks. Systems with more memory installed can cache more file information.

If you'd like to disable directory caching so that macOS re-downloads the full contents of the folders and metadata every time you browse an SMB share, you can create or edit /etc/nsmb.conf. See the nsmb.conf man page for more information on how to edit this file.

If your system doesn't already have an /etc/nsmb.conf file, use the following Terminal commands. Note that you must be logged in as an administrator with sudoer privileges to set this file:

echo "[default]" | sudo tee -a /etc/nsmb.conf
echo "dir_cache_off=yes" | sudo tee -a /etc/nsmb.conf

To reenable directory caching, remove the "dir_cache_off=yes" line entry, or delete the entire /etc/nsmb.conf file. To delete the /etc/nsmb.conf file, use this Terminal command:

sudo rm /etc/nsmb.conf

Information about products not manufactured by Apple, or independent websites not controlled or tested by Apple, is provided without recommendation or endorsement. Apple assumes no responsibility with regard to the selection, performance, or use of third-party websites or products. Apple makes no representations regarding third-party website accuracy or reliability. Contact the vendor for additional information.

Published Date: