仮想メモリの拡張方法のチュートリアル
既存の仮想メモリのサイズを確認したい場合は、コマンド「free-m」を使用します。
[root@chenfancentos ~]# free -m
total used free shared buffers cached
Mem: 988 164 823 0 26 48
-/+ buffers/cache: 90 898
Swap: 1999 0 1999
既存のスワップスペースのサイズに応じて、適切な拡張サイズを選択します。
2.適切なswapfileを作成する「dd」コマンドを使用してファイルを作成することがよくあります。「if」でソースを指定します。基本的には「/dev/zero」以外はほとんど書かれませんが、/dev/zeroはUNIXシステム特有のファイルです。「of」はターゲットファイルを指定し、「bs」はブロックのサイズを定義し、「count」はブロックの数を定義し、この2つのパラメータの多少はターゲットファイルのサイズを決定します。
[root@chenfancentos ~]# dd if=/dev/zero of=/tmp/swapfile bs=300M count=1
1+0の読み込みが記録されています
1+0の書き出しを記録しました
314572800バイト(315 MB)コピー済み、13.9027秒、22.6 MB/秒
[root@chenfancentos ~]# du -h /tmp/swapfile
300M /tmp/swapfile
300 Mのサイズのswapfileファイルが新たに生成することがわかる.
3.先ほど作成したswapfileをフォーマットする[root@chenfancentos ~]# mkswap -f /tmp/swapfile
Setting up swapspace version 1, size = 307196 KiB
no label, UUID=c4e2a8b1-fa09-41ab-bcbf-63c273ed9598
フォーマットに成功したUUID情報が表示されます
4.起動自動マウント交換ファイルを実現する/etc/fstabに/tmp/swapfile swap swap defaults 0を追加すると、起動自動マウントが実現します。
[root@chenfancentos ~]# cat /etc/fstab
# /etc/fstab
# Created by anaconda on Sat Apr 2 19:37:01 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=301b2f9f-91d3-47dd-8a43-d377cba1cd5c / ext4 defaults 1 1
UUID=812455f9-a63f-4b09-9336-05e3ada6f9a7 /boot ext4 defaults 1 2
UUID=416480d0-662c-406c-a328-b4c2f370577b swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/tmp/swapfile swap swap defaults 0 0
このように後から再起動しても自動マウントが可能です。
5.swapfileを有効にし、仮想メモリサイズを表示する[root@chenfancentos ~]# swapon /tmp/swapfile
[root@chenfancentos ~]# free -m
total used free shared buffers cached
Mem: 988 136 852 0 10 50
-/+ buffers/cache: 74 913
Swap: 2299 0 2299
初期の仮想メモリに比べて300 M増加していることがわかります。ちょっと興奮しているのではないでしょうか。
以上の内容は、仮想メモリを拡張する方法のチュートリアルです。