最終更新: 2021-05-11
Windows 10 の WSL で、/tmp ディレクトリを RAM に配置する方法を紹介します。/tmp には、コンパイルの中間ファイル等が展開される為、/tmp を RAM に配置するとビルド時間を短縮可能です。また、スクラッチの頻度を下げられるので、SSD (Solid State Drive) の寿命を延ばせます。
目次:
Linux には、当初から RAM にファイルシステムを配置する仕組みが組み込まれています。これを tmpfs と言います。tmpfs はファイルシステムなので、フォーマットを行う必要が有りません。 一応、次の要領で tmpfs の /dev/shm を作成する事になっています。 【WSL 関係の目次へ戻る】 【Linux 関係の目次へ戻る】RAM に展開されるファイルシステム tmpfs:
fstab の編集:
(本当に RAM 上に配置されるているのか、未確認。)
github.com
Linux でのマウントは、mount
コマンドによって行います。/etc/fstab というファイルにマウントの仕方を記載しておくと、自動でマウントが行われます。尚、現在マウントされているファイルを知りたい場合には、mount
コマンドを実行すれば確認出来ます。
/etc/fstab ファイルを編集し、次の1行を追加します。この例では、割当可能jな最大サイズを 8192MB に設定しています。御自身の環境に合わせて書き換えてください。
tmpfs /dev/shm tmpfs defaults 0 0
/dev/shm /tmp tmpfs defaults,size=8192m 0 0
WSL の再起動:
wsl --list --verbose
wsl --shutdown
wsl --list --verbose
mount
コマンドを実行し、後ろの方の「C:\」の前の行に次の様に出て来れば成功です。tmpfs on /run/shm type tmpfs (rw,relatime)
/dev/shm on /tmp type tmpfs (rw,relatime,size=8388608k)
df
コマンドでも確認をして置きます。次の様に表示されていれば問題有りません。Filesystem 1K-blocks Used Available Use% Mounted on
/dev/shm 8388608 0 8388608 0% /tmp