スワップパーティションを作成して使用する方法を知っていますが、ファイルも使用できますか?
Linuxシステムでスワップファイルを作成するには?
答え1
必ず確認する必要がある基本情報から見てみましょうか?vm.swappiness
60(デフォルト)よりも許容できる値に慎重に設定しても問題はありません。このコマンドは通常のユーザーとして実行できます。
sysctl vm.swappiness
たとえば、32GBのRAMサーバーと32GBのスワップファイルがあります。vm.swappiness
= 1. Wikipediaから引用:
vm.swappiness
= 1:カーネルバージョン3.5以降、Red Hatカーネルバージョン2.6.32-303以降:完全に無効になっていない最小スワップ量。
この例では、スワップファイルを作成します。
8GBサイズ、
/
(ルートディレクトリ)にあります。
必要に応じてこれら2つを変更してください。
端末を開いて
root
(su
);あなたが持っているならsudo
有効にすると、次のこともできますsudo -i
。man sudo
すべてのオプションについて):sudo -i
スワップファイル用のスペースを割り当てます。
dd if=/dev/zero of=/swapfile bs=1G count=8
または、システムでサポートされている場合は、status=progress
コマンドラインに追加できます。
ここで指定されたサイズはG
GiB(1024の倍数)単位です。
答え2
$ sudo fallocate -l 1G /swapfile
$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
編集者注:手順1と2は互いに置き換えて使用できます。
答え3
16GB SWAPメモリを生成するスクリプトを確認してください。
#!/bin/bash
#find Free
free -h
#Checking availability space
df -h
#swap Off
sudo swapoff /swapfile
#Allocate swap
sudo fallocate -l 16G /swapfile
#correct amount of space was reserved
ls -lh /swapfile
#file only accessible to root
sudo chmod 600 /swapfile
#amount of space was reserved for the root
ls -lh /swapfile
#now mark the file as swap space
sudo mkswap /swapfile
#Swap On
sudo swapon /swapfile
#swap Show
sudo swapon --show
#statment
echo -e "\n\n Swap 16Gb done"
exit 0