みねっちょのマイコン関係ブログ

組込開発系フリーソフトやハードの情報発信ブログ

WSL で /tmp を RAM に配置する

サイト内 Google 検索:


最終更新: 2021-05-11
Windows 10 の WSL で、/tmp ディレクトリを RAM に配置する方法を紹介します。/tmp には、コンパイルの中間ファイル等が展開される為、/tmp を RAM に配置するとビルド時間を短縮可能です。また、スクラッチの頻度を下げられるので、SSD (Solid State Drive) の寿命を延ばせます。

目次:

RAM に展開されるファイルシステム tmpfs:

Linux には、当初から RAM にファイルシステムを配置する仕組みが組み込まれています。これを tmpfs と言います。tmpfs はファイルシステムなので、フォーマットを行う必要が有りません。

fstab の編集:

一応、次の要領で tmpfs の /dev/shm を作成する事になっています。
(本当に 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 で起動している全てのプロセスを終了し、全てのシェルを閉じます。
  • PowerShell を開き、次のコマンドで WSL の状態確認とシャットダウンを行います。
wsl --list --verbose
wsl --shutdown
wsl --list --verbose
  • WSL を起動し直します。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

【WSL 関係の目次へ戻る】    【Linux 関係の目次へ戻る】