プロローグ
現在弊社で開発しているアプリで、深度センサーからの動画や静止画をバンバン書き出すものがある。
intel RealSense™ Depth Camera D435
- 出版社/メーカー: インテル
- 発売日: 2018/01/18
- メディア: Personal Computers
- この商品を含むブログを見る
社内ミーティングで顧客側PCの要求仕様の話になった際、専務が開発担当に遅延せずに書き出せるのかを要チェックって話をしていて、オレが
「だったら、RAM Disk使えばいいんじゃね?」
と言うと、専務も
「RAM Diskを作るソフトならSoftPerfect RAM Diskは定評がある」
「でも、以前は他のディスクを追加したり切り離したりすると不安定だった」
という話になり、現行で不安定かどうかはオレが確認することに。
実際に使用したのは日本語化されているこちら。
インストール中、こんなデバイス ソフトウェアのインストールウィザードがでる。
結論から言えば、ThinkPad W540のトラックパッドを交換する前に確認を開始し、マウスの(トラックポイントの)ドライバ入れ替えで10回以上リブートしたり、ディスクやSDカードを入れたり外したりで、全く問題が出なかった。
ディスクをつないだらどの程度のアクセス速度かを見たくなるのが人情。オレだけかもしれないけど。そこで測ってみることに。ついでにMac miniにもRAM Diskを作って比較してみることに。
制限
Windows 10でバージョン1803のThinkPad W540やW530では問題なく8GBの割り当てができたが、バージョン 1809のThinkPad T430sではこのC000009Aエラーが発生する。
”C000009A Windows 10”でググるとSoftPerfectの回答がある。
Windows 10 バージョン 1809からMicrosoftがメモリの最大アサインサイズを変えたとある。対策したSoftPerfect RAM Diskのバージョンも存在する。しかしそれはシェアウェア。シェアウェア版にするか他のRAM Disk作成ソフトにするか、ディスクの連結(スパンボリューム)にするかちょっと考えてみる。
脱線
ちなみにRAM Diskの思い出は2つ。学生時代、卒研のC言語のコンパイルで時間が掛かっていた。PC-98のFDD×2しかディスクが無いモデルで、コンパイル中FDDがガチャガチャうるさい。色々MS-DOS 2.11の不具合を見つけてしまったりしてMS-DOSのマニュアルを見ることが多く、RAM Diskなるものの存在を発見。RAM Diskを作ってソースプログラムや一緒にリンクするオブジェクトファイルなどをRAM Diskにコピーしてコンパイル&リンケージすると爆速(当社比)。そこでコピーしてコンパイル・リンケージしてFDに書き戻すバッチファイルを作ってコンパイルの高速化を図った。なんでお前だけコンパイル速いんだよという話になり、そうやってオレに声を掛けた他のメンバーにもバッチファイルを進呈。声を掛けてこなかったやつは相変わらず遅いコンパイルを待っていたという話。
もう一つは、長かったWindows XP(32bit)時代。最初は256MBから始まったが徐々にメモリ搭載量が多いマシンへ。最終的には会社からの支給時には1GBだったThinkPad X200に勝手に4GBをブチこんだ。Windowsの32bit OSは3GBまでしか認識しないので余った1GBをRAM Disk化。I/Oが多いアプリの動作などに使用。
というわけで、ここ数年RAM Diskは作ったことが無かった。(脱線部分の文字数w)
【最高級 ラム 北海道】味付き ジンギスカン 1kg 【2kg注文で】1kgオマケ【3kg注文で】2kgオマケ(BBQ)
- 出版社/メーカー: どさんこファクトリー北海道
- メディア: その他
- この商品を含むブログ (1件) を見る
ディスク性能測定 前回までのあらすじ
Mac miniを導入したので、ディスクの性能を測ってみた。1TB Fusion DiskはThinkPad W540で使っているCrucial MX500よりも速かった。
W540 | Mac | W540 | Mac | |
Read[MB/s] | Read[MB/s] | Write[MB/s] | Write[MB/s] | |
Seq | 489.8 | 710.9 | 449.8 | 645.5 |
512K | 369.2 | ─ | 418.0 | ─ |
4K | 28.48 | 36.88 | 57.84 | 107.3 |
4K QD32 | 202.9 | 369.4 | 164.5 | 93.94 |
Seq QD32 | ─ | 854.5 | ─ | 726.7 |
SoftPerfect RAM Diskで作成したRAM Disk
速い。
macOSでのRAM Disk作成
macOSではコマンドでサクっとRAM Diskが作成できる。
disk imageの作成にはhdiutilコマンドを使う。スペシャルファイルは空に割り当てられる。今回は/dev/disk3だった。
$ hdiutil attach -nomount ram://8000000
/dev/disk3
/dev/disk3をHFS+でフォーマット。
$ newfs_hfs /dev/disk3
Initialized /dev/rdisk3 as a 4 GB case-insensitive HFS Plus volume
好きなディレクトリにマウントする。前もって/tmpの下に/tmp/ramを作っておいた。
$ mount -t hfs /dev/disk3 /tmp/ram
そしてRAM Diskのアクセス速度を測定。意外と速くない。
比較
SSDやFusion Diskも含め比較してみた。
W540の場合、Seqでは10倍以上である。今回弊社の作っているアプリはバンバン書き出すのでSeqの性能が良ければそれでいい。
一方Mac miniのRAM DiskはW540よりも遅い。Mac miniの場合1,600MHz LPDDR3を使っているが、W540にはDDR3L-1600メモリである。
Transcend ノートPC用メモリ PC3L-12800 DDR3L 1600 8GB 1.35V (低電圧) - 1.5V 両対応 204pin SO-DIMM TS1GSK64W6H
- 出版社/メーカー: トランセンド・ジャパン
- 発売日: 2012/06/22
- メディア: Personal Computers
- この商品を含むブログを見る
仕様の違いを調べてみる。
DDR3は動作電圧1.5V、
DDR3Lは動作電圧1.35V、
LPDDR3は動作電圧1.2V、DDR3よりDDR3L、DDR3LよりLPDDR3の方が消費電力は低い。
うーん、メモリ単体ならMac miniのほうが速くないとおかしい。NTFSとHFS+の違いか?ここら辺はもう少し色々やって見る必要があるかも。