RAMディスクを使う(Ubuntu 20.04) | しょうちゃん オフィシャルブログ

しょうちゃん オフィシャルブログ

プログラマーのしょうちゃん(元LINEブログ公式)がいろいろ書きます。
仕事、数学、ランニング、読書など。

先日、ノートPCのOSを"Ubuntu 20.04 LTS"に変更して、デスクトップ環境をGNOMEにしたという記事を書きました。


実は、私のノートPCは、みなさんが想像しているよりも、おそらくだいぶスペックが低いです。技術系のみなさん、概ねノートPCとは言っても、CPUはCore i7とか使っている人が多いのでしょうが、Core i3です。

ただ、HDDではなくSSD(1TB)が付いていて、液晶はフルHD(1920x1080)です。メモリは8GBなので多くもなく少なくもなくという感じでしょうか。

computer_ssd.png

SSDというのは、本当にすばらしくて、値段は高いのですが、とにかく速いです。もうHDDに戻れない。



ところで。



テレワーク開始初期は、そんなに毎日テレワークってわけでもなかったので、時間のかかる処理をするときは、会社のサーバに送り込んで、そっちでやっていたので問題なかったのですが、、、ここのところテレワークの合間に会社行ってるような感じなので、ちょっと手元でも多少なりとも処理を早くしたいなと。




というわけで、数年ぶりのRAMディスクを使うようにしてみました。




最近のUbuntuは、RAMディスク(メモリファイルシステム)を利用するのに細かな設定などもいらないし、rootでの作業もいりません。

$ ln -s /dev/shm tmp

これだけ。これでローカルにあるtmpというフォルダーがRAMディスクになります。tmpfs(RAMディスクの正式な呼称)が/dev/shmにマウントされています。ちなみに、最大容量は実メモリの50%です。マシンの再起動かけたら消えちゃうから、いいんじゃないかなと適当な感じで(笑)





速度の差を測定。

◯ SSD
dd if=/dev/zero of=./zero bs=64k count=1k conv=fdatasync
1024+0 レコード入力
1024+0 レコード出力
67108864 bytes (67 MB, 64 MiB) copied, 0.249319 s, 269 MB/s

◯ RAMディスク
dd if=/dev/zero of=./zero bs=64k count=1k conv=fdatasync
1024+0 レコード入力
1024+0 レコード出力
67108864 bytes (67 MB, 64 MiB) copied, 0.0391869 s, 1.7 GB/s



SSDだと270MB/sぐらい、RAMディスクだと1.7GB/sぐらいなので6倍ぐらい違うかな?





うん、昨日まで9分かかっていた処理が1分20秒になった。満足(笑)