# hdparm (日本語)

hdparm は HDD (SATA/IDE) のパフォーマンスとベンチマークのツールです｡

Warning: 注意してください！hdparm はあなたのコンピューターをたやすく壊してしまいます！

## インストール

公式リポジトリより hdparm をインストールします｡SCSI デバイスを使っているなら sdparm をインストールしてください｡

## 使い方

### ディスク情報

HDD の情報を得るには、以下のコマンドを実行します:

    # hdparm -I /dev/sda

### 読み込み速度 (MB/s)

あなたの HDD (SATA/IDE) の読み込み速度を測るには、以下のコマンドを実行します:

    # hdparm -t --direct /dev/sda

### 書き込み速度 (MB/s)

あなたの HDD (SATA/IDE) の書き込み速度を測るには、以下のコマンドを実行します:

    $ sync;time bash -c "(dd if=/dev/zero of=bf bs=8k count=500000; sync)"

このコマンドの実行後 `Ctrl+c` と `rm bf` を実行するのを忘れないでください｡

Note: `bf` は `dd` によって書き込まれるファイルの名前です｡

### HDD を小休止する

もしあなたの HDD がカチカチ音を何度も立てているなら、カーネルは HDD の（読み込み/書き込みヘッドを動かす）作動アームを小休止させようとしています｡これはラップトップなどの場合よく起こります｡あまりにも多すぎる場合、あなたの HDD を逆に傷つけてしまうかもしれません｡

これはコンピュータのシャットダウン時に読み込みヘッドを小休止させます:

    # hdparm -B254 /dev/sda

デフォルトの値は `-B128` です｡小休止が多発する時の平均値は `-B199` です｡

この設定を永続的にするには `/etc/udev/rules.d/11-sda-apm-fix.rules` のような udev ファイルを作成します:

    ACTION=="add", SUBSYSTEM=="block", KERNEL=="sda", RUN+="/usr/bin/hdparm -B 254 /dev/sda"

もしくは、あなたが多数の HDD を有している場合、より柔軟にルールを定義することが可能です:

    ACTION=="add|change", KERNEL=="[hs]d[a-z]", ATTR{queue/rotational}=="1", RUN+="/usr/bin/hdparm -B 254 /dev/$kernel"

APM レベルはサスペンド後リセットされることを忘れないでください｡よって、復帰時に再度コマンドを実行する必要があります｡ 以下のように systemd ユニットを作成すれば自動的に実行されます (フォーラムスレッドより):

    [Unit]
    Description=Local system resume actions
    After=suspend.target
    After=hibernate.target
    After=hybrid-sleep.target

    [Service]
    Type=simple
    ExecStart=/usr/bin/hdparm -B 254 /dev/sda

    [Install]
    WantedBy=suspend.target
    WantedBy=hibernate.target
    WantedBy=hybrid-sleep.target

または `/usr/lib/systemd/system-sleep/hdparm_set` を作成します: ここにあります

    #!/bin/sh
    hdparm -B254 /dev/sda

そしてこれを実行可能にします:

    chmod +x /usr/lib/systemd/system-sleep/hdparm_set

## Tips and tricks

### KDE 4.4.41 以上と hdparm

KDE バージョン 4.4.4 以降で、（手動で）設定した hdparm の値を変更されないようにするには、以下を入力してください:

    # touch /etc/pm/power.d/harddrive

Categories:

- File systems (日本語)
- Storage (日本語)