😄

[Linux] スワップ領域の作成のメモ

に公開

スワップ領域の作成のメモ

スワップ領域とは

  • 物理メモリが不足した時に使われる補助的な役割を担う特別な領域
  • 使用頻度の低い内容を一時的に退避させるために使用する
  • ハードドライブ上にあるため、アクセス速度が遅くなる

とりあえずタンスに夏服全部突っ込んで冬物を引っ張り出すみたいなイメージですかね?

スワッピング

下記2つを総称して「スワッピング」という。
OSが自動で行ってくれる

スワップイン

  • ストレージからメモリに戻す動作

スワップアウト

  • メモリの内容をストレージに移す動作

スワップ領域の作成

# if => 入力ファイル
# of => 出力するファイル
# bs => 書き読み込みするブロックサイズ
# count => コピーするブロック数
# 下記コマンドは/dev/zeroから読み込み、/tmp/swapfileに1MBブロックサイズで2048回書き込み計2GBのスワップファイルを作成する
sudo dd if=/dev/zero of=/tmp/swapfile bs=1M count=2048

# このコマンドの方が処理が早い
sudo fallocate -l 2G /tmp/swapfile

スワップ領域の有効化

sudo chmod 600 /tmp/swapfile

# スワップ領域を作成
sudo mkswap /tmp/swapfile

# スワップ領域を有効化する
sudo swapon /tmp/swapfile

スワップ領域の確認

$ sudo swapon --show
NAME          TYPE SIZE USED PRIO
/tmp/swapfile file   2G   0B   -2

$ free -h
               total        used        free      shared  buff/cache   available
Mem:           3.8Gi       169Mi       1.4Gi       0.0Ki       2.3Gi       3.4Gi
Swap:          2.0Gi          0B       2.0Gi

スワップ領域の削除

sudo swapoff /tmp/swapfile
sudo rm /tmp/swapfile

参考

GitHubで編集を提案

Discussion