Skip to content

MacBook Air(2010 Late)13 インチモデルでベンチマークを取得する

MacBook Air(2010 Late)の 13 インチモデルを購入しました。フルスペックにしてあり、具体的には以下の通りです。このモデルを使って SSD のベンチマークを取得してみました。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$ system_profiler SPHardwareDataType SPSoftwareDataType
Hardware:

    Hardware Overview:

      Model Name: MacBook Air
      Model Identifier: MacBookAir3,2
      Processor Name: Intel Core 2 Duo
      Processor Speed: 2.13 GHz
      Number of Processors: 1
      Total Number of Cores: 2
      L2 Cache: 6 MB
      Memory: 4 GB
      Bus Speed: 1.07 GHz
      Boot ROM Version: MBA31.0061.B00
      SMC Version (system): 1.66f54
      Serial Number (system): C02DN01ADDR4
      Hardware UUID: 38388E04-B2D8-5427-8753-E29D23AE39D5

Software:

    System Software Overview:

      System Version: Mac OS X 10.6.4 (10F3061)
      Kernel Version: Darwin 10.4.3
      Boot Volume: Macintosh HD
      Boot Mode: Normal
      Computer Name: eco の MacBook Air
      User Name: eco (eco)
      Secure Virtual Memory: Enabled
      64-bit Kernel and Extensions: No
      Time since boot: 20 minutes

ファイルへの最終アクセス時間更新処理を無効化する

通常、ファイルへアクセスする度に最終アクセス時間が更新されますが、ふたつの理由からこの機能をオフにしました。

  1. SSD へのアクセス回数を減らし、寿命を伸ばす為
  2. 最終アクセス時間の更新処理を省略し、パフォーマンスを改善する為

mount コマンドで確認すると、作業前のマウント状態は以下の通りでした。ルート(/dev/disk0s2)のオプションは "hfs", "local", "journaled" のみっつです。

1
2
3
4
5
6
$ mount
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
/dev/disk1s2 on /Volumes/Xbench_1.3 (hfs, local, nodev, nosuid, read-only, noowners, quarantine, mounted by eco)

最終アクセス時間更新処理を無効化するには、まず /Library/LaunchDaemons/com.my.noatime.plist というファイルを新規作成し、以下の内容を書き込みます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>com.my.noatime</string>
        <key>ProgramArguments</key>
        <array>
                <string>mount</string>
                <string>-vuwo</string>
                <string>noatime</string>
                <string>/</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>

続いて Mac OS X を再起動します。

1
2
3
4
sync
sync
sync
sudo reboot

再起動が完了したら再度、マウント状態を確認します。先程のオプションに加え、"noatime" が付与されていれば作業完了です。

1
2
3
4
5
$ mount
/dev/disk0s2 on / (hfs, local, journaled, noatime)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)

ベンチマークを取得する

「インストール直後の状態」と「そこから noatime を付与した状態」でベンチマークを取得してみました。厳密なベンチマークの取得が目的では無く、平均値を取得したわけでも無い(つまり、1 回実行しただけ)ので、あくまで参考値です。

Article Block size Default noatime
Disk Test N/A 236.38 238.25
Sequential N/A 154.29 155.94
Uncached Write 4K 259.30 269.43
Uncached Write 256K 293.05 290.05
Uncached Read 4K 63.64 64.00
Uncached Read 256K 339.87 348.81
Random N/A 505.14 504.55
Uncached Write 4K 285.84 282.45
Uncached Write 256K 515.38 517.31
Uncached Read 4K 1525.98 1525.10
Uncached Read 256K 548.10 555.97