macOS 10.13 High Sierraで「.DS_Store」ファイルとSMB署名の設定を変更し、SMBファイル共有のブラウジングを高速化する方法。

macOS High Sierra
記事内に広告が含まれています。
スポンサーリンク

 macOS 10.13 High Sierraで「.DS_Store」ファイルとSMB署名の設定を見直して、SMBファイル共有されたファイルのブラウジングを高速化する方法の覚え書きです。詳細は以下から。


 AppleはmacOS 10.12 SierraでFinderに表示するファイルのタグや位置を設定しておく「.DS_Store」をFinderに表示しない仕様に変更しましたが、macOS 10.13 High SierraではAPFSの導入に伴いSMB共有プロトコルとの親和性が向上[1, 2]したため、

macOS 10.12 Sierraでは.gitなどの隠しファイルは表示されるが、.DS_Storeファイルは表示されず「ls -al」などで確認できる。

SMBファイル共有表示時に「.DS_Store」ファイルの作成を停止/読み込みを一時的に停止する、あるいはSMB署名を無効にすることでSMBファイル共有のブラウジングを高速に行うことが出来るそうです。

.DS_Dstoreの設定を変更

 Appleがシステム管理者向けに公開したサポートドキュメントによると、macOSではSMBファイル共有の「.DS_Store」の作成/読み込みを防ぐオプションがDesktopServicesに用意されており、ターミナルを起動して以下のdefaultsコマンドを使用し、”DSDontWriteNetworkStores”の値をTRUEを設定、その後macOSを一度ログアウトする事でFinderのSMBブラウジングが高速に出来るそうです。

defaults write com.apple.desktopservices UseBareEnumeration -bool FALSEの設定

  • .DS_Storeファイルの作成を防ぎ、Finderのブラウジングを高速化する。
  • defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
  • .DS_Storeファイルを通常通り読み込んでからFinderで表示する(Default)。
  • defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool FALSE

 実際にDSDontWriteNetworkStoresの値を”TRUE”にし、SMBファイル共有にアクセスすると「.DS_Store」ファイルが作成されない、または「.DS_Store」ファイルが作成されている場合は初めに読み込まれずフォルダ名のローカライズやタグなどが無くなり英数字順にファイルが表示された後、アイドル状態に読み込まれるようになるのでブラウジングが高速化されます。

macOS 10.13 High SierraでSMBファイル共有のブラウジングを高速化する方法1

.DS_Storeの設定はMac OS X v10.4 Tiger以降でも利用可能です。

SMB署名

 また、もし安全なネットワーク上にSMB共有されたフォルダを公開している場合は”nsmb.conf”を以下の様に設定することでブラウジングを高速化することが出来ます。

SMBのnsmb.conf設定でパケット署名を無効にする

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

 ”signing_required=no”はOS X 10.11 El CapitanでSMBの不具合が発生した時も紹介しましたが、パケット署名を無効にする事で暗号化を行わず互換性やパフォーマンスを確保するためのオプションで、

SMB署名を無効にした状態でのベンチマーク

実際にSMB署名を無効にしてSMB共有フォルダのRead/Writeベンチマークを行ってみましたが、有効時より最大2倍ほどのスコアとなりました。

OS X v10.11.5 El Capitan以降ではSMB署名はデフォルトで有効となっているそうです。

旧Finderに合わせる

 また、AppleはmacOS 10.13 High SierraのFinderをフォルダ内の情報をFinderに表示する前にメタデータを収集するmacOS 10.12 Sierra以前のFinderのブラウジング方法に合わせる方法やSMB共有のディレクトリキャッシュを無効にする方法も公開しているので、興味のある方はチェックしてみて下さい。

  1. Finderの挙動をmacOS 10.12 Sierraに合わせる。
  2. defaults write com.apple.desktopservices UseBareEnumeration -bool FALSE

  3. SMB共有のディレクトリキャッシュを無効にする。
  4. echo "[default]" | sudo tee -a /etc/nsmb.conf
    echo "dir_cache_off=yes" | sudo tee -a /etc/nsmb.conf
ディレクトリキャッシュを無効にするとフォルダのメタデータがローカルメモリ上に保存されなくなるので、フォルダの情報は常に最新のものになりますがブラウジング速度は遅くなります。

コメント

  1. 匿名 より:

     AppleはmacOS 10.12 SierraでFinderに表示するファイルのタグや位置を設定しておく「.DS_Store」をFinderに表示しない仕様に変更しましいたが、
    ^^^^^^^^^^^ しました

    ファイル共有の「.DS_Store」の作成/読み込みを防ぐオプションがDesktopServicesに
    よういされており、
    ^^^^^^^ 用意

    Finderの挙動をmacOS 10.12 Sierra似合わせる。
    ^^^^ に

    • applech2 より:

      誤字脱字のご指摘ありがとうございます。
      先程修正したので、数十分後に修正されると思います。

  2. 匿名 より:

    こう言う細かいカスタマイズは止めた方が良いわ。

    Windowsだが、
    NTFSで読み込み時刻を記録しないようにするレジストリがあって、
    それを無効にしたら速度が高速化されるんだが、
    その設定の場合ノートンアンチウィルスがクラッシュするみたいなバグが昔あった。

  3. 匿名 より:

    長年、Windowsだと早いのに、Macで遅く、ずーっと困っており、記載頂いた方法で解決しました。
    ありがとうございました。

  4. 匿名 より:

    紹介されていたカスタマイズをSierraの時点でしましたが、これはHigh Sierraにアップデートしたあとも引き継がれているのでしょうか?リセットされて再度しないといけませんか?

タイトルとURLをコピーしました