RAM のほかに、十分な RAM がなくなった場合に備えて RAM の内容 (ページ) をスワップインできる、いわゆるスワップがあります。これは仮想メモリです。このスワップはディスク上にあり、ディスクの読み取りと書き込みは RAM からの読み取りよりも遅いため、そこにあるメモリ ページにアクセスすると遅延が発生します。ファイルシステムの作成に加えて、Linux 管理者はスワップの使用とニーズにも細心の注意を払う必要があります。この投稿では、Linux システムにスワップ領域を追加する 3 つの方法について説明しています:
<強い>1.スワップ パーティションの追加
2.スワップ ボリュームの追加
3.スワップ ファイルの追加
1.スワップ パーティションの追加
1. fdisk を実行します または別れ ユーティリティを使用して、未使用の (パーティション分割されていない) ディスク領域が十分にあるディスクを特定します。 swap (82) タイプの新しいパーティションを作成します .例:
# fdisk /dev/sdb ..... Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-652, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): +1G
必ずパーティション タイプを 82 (Linux スワップ/Solaris) に変更し、最後にパーティション テーブルを保存してください。
Command (m for help): t Selected partition 1 Hex code (type L to list codes): 82 Changed system type of partition 1 to 82 (Linux swap / Solaris) Command (m for help): w The partition table has been altered!
2. コマンド mkswap を実行します fdisk/parted を使用して以前に作成したデバイス/パーティションに対して。オプションで -L LABEL の設定に使用できます スワップパーティション上。
# mkswap -L swap1 /dev/sdb1 Setting up swapspace version 1, size = 1060252 KiB LABEL=swap1, UUID=f0a884c9-59b3-47d2-9f06-5884f6a33806
3. /etc/fstab ファイルを変更して、起動時に新しいスワップ デバイスをマウントします。
vi /etc/fstab /dev/sdb1 swap swap defaults 0 0
4. swapon コマンドを実行して、/etc/fstab ファイルにリストされているすべてのスワップ デバイスを有効にし、「swap -s」を使用して追加されたスワップを確認します。
# swapon -a # swapon -s Filename Type Size Used Priority /dev/sdb1 partition 1060248 0 -1
1.スワップボリュームの追加
1. LVM ボリュームをスワップ領域として追加することもできます。そのためには、既存のボリューム グループのいずれかにボリュームを作成する必要があります。
# vgs VG #PV #LV #SN Attr VSize VFree vg_geeklab 1 1 0 wz--n- 19.51g 1.94g
# lvcreate -L 1G -n lv_swap vg_geeklab Logical volume "lv_swap" created
# ll /dev/mapper/vg_geeklab-lv_swap lrwxrwxrwx. 1 root root 7 Oct 22 19:36 /dev/mapper/vg_geeklab-lv_swap -> ../dm-1
2. ボリュームに対して mkswap コマンドを実行し、必要に応じて -L オプションを使用してラベルを付けます。
mkswap -L swap /dev/mapper/vg_geeklab-lv_swap mkswap: /dev/mapper/vg_geeklab-lv_swap: warning: don't erase bootbits sectors on whole disk. Use -f to force. Setting up swapspace version 1, size = 1048572 KiB LABEL=swap, UUID=6d228d34-b67e-4e38-82d4-f068c7bc097e
4. 再起動後もスワップ エントリを保持するには、/etc/fstab ファイルにエントリを作成します。
# vi /etc/fstab /dev/mapper/vg_geeklab-lv_swap swap swap defaults 0 0
5. 最後に、swapon コマンドを使用してスワップを有効にします。このコマンドは、スワップ エントリの /etc/fstab ファイルを読み取ります。
# swapon -a # swapon -s Filename Type Size Used Priority /dev/dm-1 partition 1048568 0 -1
3.スワップ ファイルの追加
1. 新しいパーティションを作成するための空き容量がディスクに残っていない場合、ファイルをスワップとして使用することもできます。これを行うには、dd コマンドを使用して、必要なサイズのファイルを作成します。
# dd if=/dev/zero of=/root/swapfile01 bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 6.73334 s, 159 MB/s
2. /root ディレクトリにスワップ ファイルを作成して、通常のユーザーがそのディレクトリに入ることができないため、安全性を高めました。より安全にするには、ファイルに適切なアクセス許可を適用してください。
# chmod 600 /root/swapfile01
3. mkswap コマンドを実行して、ファイルをスワップ ファイルに変換します。
# mkswap -L swap01 /root/swapfile01 Setting up swapspace version 1, size = 1048572 KiB LABEL=swap01, UUID=ba5f7163-43f6-4001-84c1-2fca3935301f
4. /etc/fstab ファイルを変更して、新しいスワップ ファイルを追加します。
# vi /etc/fstab /root/swapfile01 swap swap defaults 0 0
5. swapon コマンドを実行して、/etc/fstab ファイルにリストされているすべてのスワップ デバイスを有効にします。
# swapon -a # swapon -s Filename Type Size Used Priority /swap/swapfile01 file 1048568 0 -1
スワップを削除しています
追加したスワップを削除したい場合は、swapoff コマンドで実行できます。スワップを無効にした後、/etc/fstab ファイルからそれぞれのスワップ エントリを必ず削除してください。
# swapoff -a ### this will remove all swap(s) mentioned in .etc.fstab # swapoff /dev/sdb1 ### to remove individual swap
スワップの使用状況を確認する方法
スワップの使用状況を確認するには、次のユーティリティのいずれかを使用できます。
1.無料
# free total used free shared buffers cached Mem: 1004608 934036 70572 0 30124 769640 -/+ buffers/cache: 134272 870336 Swap: 1060248 0 1060248
<強い>2. /proc/meminfo
# grep Swap /proc/meminfo SwapCached: 0 kB SwapTotal: 1060248 kB SwapFree: 1060248 kB
<強い>3.トップ
# top ....... Mem: 1004608k total, 934780k used, 69828k free, 30124k buffers Swap: 1060248k total, 0k used, 1060248k free, 770156k cached .......
<強い>4. vmstat
# vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 69828 30124 770156 0 0 40 403 23 22 0 1 99 0 0