スワップファイルの作成方法は?

スワップファイルの作成方法は?

スワップパーティションを作成して使用する方法を知っていますが、ファイルも使用できますか?

Linuxシステムでスワップファイルを作成するには?

答え1

必ず確認する必要がある基本情報から見てみましょうか?vm.swappiness60(デフォルト)よりも許容できる値に慎重に設定しても問題はありません。このコマンドは通常のユーザーとして実行できます。

sysctl vm.swappiness

たとえば、32GBのRAMサーバーと32GBのスワップファイルがあります。vm.swappiness= 1. Wikipediaから引用:

vm.swappiness= 1:カーネルバージョン3.5以降、Red Hatカーネルバージョン2.6.32-303以降:完全に無効になっていない最小スワップ量。


この例では、スワップファイルを作成します。

  • 8GBサイズ、

  • /(ルートディレクトリ)にあります。

必要に応じてこれら2つを変更してください。

  1. 端末を開いてrootsu);あなたが持っているならsudo有効にすると、次のこともできますsudo -iman sudoすべてのオプションについて):

    sudo -i
    
  2. スワップファイル用のスペースを割り当てます。

    dd if=/dev/zero of=/swapfile bs=1G count=8
    

または、システムでサポートされている場合は、status=progressコマンドラインに追加できます。

ここで指定されたサイズはGGiB(1024の倍数)単位です。

  1. スワップファイルの権限を変更してroot以下からアクセスできます。

    chmod 600 /swapfile
    
  2. このファイルをスワップファイルにします。

    mkswap /swapfile
    
  3. スワップファイルを有効にする:

    swapon /swapfile
    
  4. スワップファイルが使用中であることを確認してください。

    cat /proc/swaps
    
  5. このファイルに慣れているテキストエディタを開きます。nanoわからない場合:

    nano /etc/fstab
    
  6. 再起動後にこのスワップファイルを使用できるようにするには、次の行を追加します。

    /swapfile        none        swap        sw        0        0
    

答え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

関連情報