linuxシステムのswapパーティション


一.概要:
Linuxカーネルは、読み書き効率と速度を向上させるために、Cache Memory(キャッシュメモリ)であるファイルをメモリにキャッシュします.プログラムの実行が終わっても、Cache Memoryは自動的に解放されません.これにより、Linuxシステムでプログラムが頻繁にファイルを読み書きすると、使用可能な物理メモリが少なくなることがわかります.システムの物理メモリが足りない場合は、現在実行されているプログラムで使用するために、物理メモリの一部の空間を解放する必要があります.それらの解放された空間は、長い間操作されていないプログラムから来ている可能性があります.これらの解放された空間は、プログラムが実行されるまで一時的にSwap空間に保存され、Swapパーティションから保存されたデータをメモリに復元します.このように,システムは常に物理メモリが足りない場合にSwap交換を行う.
   
二.swapパーティションサイズを表示するには:
[root@node1 ~]# free 
             total       used       free     shared    buffers     cached
Mem:       1906256     158332    1747924        168       6164      44048
-/+ buffers/cache:     108120    1798136
Swap:      2097148          0    2097148
[root@node1 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1861        154       1706          0          6         43
-/+ buffers/cache:        105       1755
Swap:         2047          0       2047
[root@node1 ~]# swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-1              partition    2097148    0    -1

三.swapスペースを解放するには:
まずswapパーティションを閉じてから、再びswapパーティションを開きます.
1. swap 
[root@node1 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1861        154       1706          0          6         43
-/+ buffers/cache:        105       1756
Swap:         2047          0       2047
[root@node1 ~]# swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-1                               partition    2097148    0    -1

2. swap 
[root@node1 ~]# swapoff /dev/dm-1 

3. swap 
[root@node1 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1861        153       1707          0          6         43
-/+ buffers/cache:        104       1757
Swap:            0          0          0

4. swap 
[root@node1 ~]# swapon /dev/dm-1 
[root@node1 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1861        155       1706          0          6         43
-/+ buffers/cache:        105       1755
Swap:         2047          0       2047

四.パラメータの変更
システムはどのような状況や条件でSwapパーティションの空間を使用しますか?実はLinuxはパラメータswappinessによって制御されています.このパラメータ値は0〜100であり、制御システムswapの使用度である.高数値はシステムのパフォーマンスを優先し、プロセスがアクティブでない場合に物理メモリに自動的に変換します.低数値は、インタラクティブ性を優先し、プロセスを物理メモリに変換しないようにし、反応の遅延を低減します.既定値は60です.
 1:
[root@node1 ~]# more /proc/sys/vm/swappiness
60
[root@node1 ~]# echo 10 > /proc/sys/vm/swappiness
[root@node1 ~]# more /proc/sys/vm/swappiness
10

 2:
sysctl vm.swappiness=10

 :
echo 'vm.swappiness=10' >>/etc/sysctl.conf     。

五.swapパーティションサイズの調整
方法1:swapが論理ボリュームである場合
[root@node1 ~]# ll /dev/mapper/
total 0
crw-rw---- 1 root root 10, 58 Oct 13 09:49 control
lrwxrwxrwx 1 root root      7 Oct 13 09:50 vg_node1-lv_root -> ../dm-0
lrwxrwxrwx 1 root root      7 Oct 13 10:09 vg_node1-lv_swap -> ../dm-1

[root@node1 ~]# swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-1             partition    2097148    0    -1


1. Swap 
swapoff /dev/dm-1     swapoff    /dev/mapper/vg_node1-lv_swap     

2. vg , lvextend             
lvextend -L 3G /dev/mapper/vg_node1-lv_swap

3. :
    mkswap /dev/mapper/vg_node1-lv_swap
    
4. swap 
swapon /dev/mapper/vg_node1-lv_swap

5. 
cat  /etc/fstab
 
/dev/mapper/vg_node1-lv_root /      ext4    defaults        1 1

方法2:ファイル作成swapパーティション
1. /root/swap
# dd if=/dev/zero of=/root/swap bs=1024M count=8( / 8x1024M , /root/swap )

2. :
# mkswap /root/swap ( swap )

3. :
# swapon /root/swap ( /root/swap, swap )
 , swapon -f /root/swap
  
4.     
# vim /etc/fstab ( swap )
/root/swap  swap  swap  defaults   0    0

5. 
#swapoff /root/swap

方法3:新しいハードディスク方式
1. 
fdisk--n--t-( 82swap)
2. swap 
mkswap /dev/sda3
3. :
swapon /dev/sda3
3. 
vim /etc/fstab
/dev/sda3    swap       swap    defaults        0 0