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.
Force the Finder to gather all metadata first
Alternatively, you can force the Finder in macOS 10.13 High Sierra and later to always collect complete metadata before displaying folder contents, matching the file browsing behavior of macOS 10.12 Sierra and earlier. Use this Terminal command:
defaults write com.apple.desktopservices UseBareEnumeration -bool FALSE
Then log out of your macOS account and log back in.
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