😄
[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
Discussion