Macでディスク(SSD)の総書き込み量を調べる方法

Macでディスクの総書き込み量を調べる方法を紹介。

Macでディスクの総書き込み量を調べる方法

1. smartmontoolsをインストール

Macでディスクの総書き込み量を調べる一番手っ取り早い方法はコマンドラインツールの「smartmontools」を使用することなので、まずはsmartmontoolsをインストールしよう。

なお、smartmontoolsではS.M.A.R.T.の詳細もチェック出来るがS.M.A.R.T.については下記記事をご参照頂きたい。

MacのSSD/HDDのS.M.A.R.T.(健康状態)を確認する方法
Homebrewを使用してsmartmontoolsをインストールする

下記コマンドを実行してまずはHomebrew(パッケージマネージャ)をインストール。

なお、もしHomebrewを使用したくない場合は次項の「パッケージファイルをダウンロードしてsmartmontoolsをインストールする」までスキップ。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

パスワードの入力を求められたら管理者パスワードを入力しエンターキー。

続いて「Press RETURN ~」と表示されたらエンターキー。

上記画面が表示されたらHomebrewのインストールは完了。

続いて下記コマンドを実行してsmartmontoolsをインストール。

brew install smartmontools

コマンドが正常に実行されてsmartmontoolsのダウンロードとインストールが終われば完了。

パッケージファイルをダウンロードしてsmartmontoolsをインストールする

Homebrewを使用したくない場合は下記サイトからsmartmontoolsのパッケージファイルをダウンロードしてインストールしよう。

なお、注意点としてこのパッケージファイルは署名がされていない。

管理人は実際にこのパッケージファイルをダウンロード・インストールしてマルウェアチェックにかけ、悪意のあるソフトウェアではないことを確認しているが、気になる人はHomebrewを使用しよう。

パッケージファイルをダウンロードしたらダブルクリックでは開けないため右クリックの「開く」をクリックしよう(警告が出てもそのまま開くをクリック)。

画面の指示に従ってインストールを進めよう。

2. 調べたいディスク番号を確認する

smartmontoolsをインストールしたらまずは下記コマンドでMacのディスク一覧を表示する。

diskutil list

ディスクやボリュームの一覧が表示されるので「/dev/disk〜」の部分をチェックし総書き込み量を調べたいディスクの番号を確認しておこう。

なお、Macに内蔵されているディスクの総書き込み量を調べたいのであれば、起動ディスクを変更していたりFusion Driveを分割しているといった特殊な状況でない限りディスク番号は大抵の場合「0(/dev/disk0)」となる。

3. smartmontoolsコマンドを実行して総書き込み量をチェックする

ディスク番号を確認したら下記コマンドを実行する。

「disk0」の部分には総書き込み量を調べたいディスク番号を指定しよう。

sudo smartctl -a /dev/disk0

コマンドを実行すると上記のようにディスクに関する大量の情報が表示されるので下までスクロールしよう。

「Data Units Written」の項目に表示されているのがディスクの今までの総書き込み量だ。

上記画像では管理人のM1 Mac miniのこれまでの総書き込み量は713GBであることがわかる。

4. 外付けSSDの総書き込み量を調べる方法

外付けSSDの総書き込み量を調べるにはDriveDxというソフトウェアの公式サイトで配布されているドライバが必要のため下記リンクからドライバをダウンロードしてインストールする。

DriveDxは有料ソフトウェアだがこのドライバだけであれば無料だ。

ドライバをインストールしたらまず最初にディスク番号を確認するために「ディスクユーティリティ」を開こう。

ディスクユーティリティの左上のボタンをクリックして「すべてのデバイスを表示」をクリック。

続いて外付けディスクを選択して「情報を見る」をクリック。

ここの「BSD装置ノード」欄のディスク番号を指定して先ほどのコマンドを実行する。

例えば上記画像では外付けディスクは「disk2」となっているので下記のコマンドのようになる。

sudo smartctl -a /dev/disk2

これで外付けディスクの総書き込み量が表示されるはずだ。

なお、上記画像はHDDのため総書き込み量は表示されておらず、SSDでもメーカーや製品によっては総書き込み量が表示されない場合がある。

また、もし「Operation not supported by device」というエラーが出たら一度外付けディスクを物理的に外して再接続してみよう。

ターミナルで転送量(書き込み量)をインターバル指定してリアルタイム監視する方法

下記コマンドを実行してリアルタイムでディスクへの転送量(書き込み量)をモニタリングすることが可能だ。

「disk0」の部分には調べたいディスク番号を入力し、「3」の部分には更新頻度を秒で指定する。

なお、このコマンドは前述の「smartmontools」とは無関係。

iostat -Idw 3 disk0

上記画像の例では3秒ごとに現在のディスクへの書き込み量が表示される。

モニタリングを止める場合はControl+Cキーを押す。

各項目の意味は下記の通り。

  • KB/t - 1転送(Transfer)ごとの量(KB)
  • xfrs - 転送数
  • MB - 転送量(書き込み量)

余談:ターミナルやアクティビティモニタの書き込み量は総書き込み量ではない

smartmontoolsを用いなくても前述のコマンドを応用して下記コマンドを実行したり、あるいはアクティビティモニタの「ディスク」の項目を見れば書き込み量を確認可能だが「起動してから(ボリュームがマウントされてから)の書き込み量」であり、再起動したらリセットされるためディスクの寿命を調べる上ではあまり意味はない。

iostat -Id disk0

上記の画像の例ではボリュームがマウントされてからの転送量(書き込み量)が表示されているが、当然再起動すればリセットされ再び0から始まる。

まとめ

最近のSSDはTBW(Total Bytes Written - どの程の書き込みで消耗が発生するか)という指標はSanDisk Ultra 3D SSDの場合は400TB、Crucial MX 500(1TBモデル)の場合360TBであるため、余程ディスクを酷使しない限り数年はほぼ寿命に影響がないが、気になる人は本記事の手順で総書き込み量を調べてみるといいかもしれない。