1. 程式人生 > >swap交換分區

swap交換分區

cal uuid 格式化 tasks part warning sleep gef 配置

swap交換分區
虛擬內存(Vitrual memory):即用軟件模擬出來的內存,是將硬盤空間模擬成內存來用,用來補充物理內存不足的問題。在Linux系統中的虛擬內存是用交換分區來實現的。

虛擬內存的參考值:物理內存的1.5~2倍
註:當物理內存大於或等於8G時,可以考慮關掉虛擬內存功能。

win7虛擬內存設置:計算機--->屬性--->高級--->性能--->設置--->高級--->更改--->根據提示設置
註:win7是在每個盤(分區)中用pagefile.sys文件來實現虛擬內存功能。

創建交換分區的2種方式:
法1.用分區實現:先fdisk創建分區--〉然後mkswap格式化--〉再swapon激活--〉查swap狀態--〉設置自動掛載

法2.用文件實現:先dd創建文件--〉然後mkswap格式化--〉再swapon激活--〉查swap狀態--〉設置自動掛載

第一種方法:
準備新分區,用fdisk /dev/sdb創建一個分區
1.# mkswap /dev/sdb1 //格式化成swap分區
Setting up swapspace version 1, size = 976892 KiB
no label, UUID=1f7a658f-09f1-4cae-8a6e-bbd67c7df2f3
2.1 # free -h 顯示當前內存使用狀態
2.2 # swapon /dev/sdb1 //激活swap分區
註:如果要停用/dev/sdb1交換分區,用swapoff /dev/sdb1

3.# vim /etc/fstab //添加文件系統的自動掛載配置
UUID=1f7a658f-09f1-4cae-8a6e-bbd67c7df2f3 swap swap defaults 0 0
4.# mount -a //掛載

#free -h
total used free shared buffers cached
Mem: 1861 752 1109 0 112 241
-/+ buffers/cache: 398 1463

Swap: 3232 0 3232

top
top - 09:57:35 up 19:09, 2 users, load average: 0.00, 0.0
Tasks: 181 total, 1 running, 180 sleeping, 0 stopped,
Cpu(s): 1.0%us, 0.0%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%h
Mem: 1906556k total, 770408k used, 1136148k free, 11
Swap: 3310576k total, 0k used, 3310576k free, 24

第二種方法:
制作交換文件

  1. 用dd命令創建指定大小(100M)的文件
    註:dd創建的文件總大小等於bscount。本例是1M100=100M。
    #dd if=/dev/zero of=/opt/a.swap bs=1M count=100
    記錄了100+0 的讀入
    記錄了100+0 的寫出
    104857600字節(105 MB)已復制,0.198869 秒,527 MB/秒

if 指定輸入設備(input file) /dev/zero 無限0資源
of 指定輸出設備(output file)
bs 每個塊的大小(block size)
count 塊的數量 幾個塊

ls -lh /opt/a.swap 列出指定文件的屬性(包括類型、權限等信息)
-rw-r--r--. 1 root root 100M 4月 1 10:03 /opt/a.swap

2.# mkswap /opt/a.swap //格式化成swap文件系統
mkswap: /root/Desktop/a.swap: warning: don‘t erase bootbits sectors
on whole disk. Use -f to force.
Setting up swapspace version 1, size = 102396 KiB
no label, UUID=62d47da2-e50a-46d6-9bef-c32e1e1cbdaa
3.# free -h 顯示內存使用狀態
#swapon /opt/a.swap //激活swap分區
註:如果要停用a.swap交換文件,用swapoff /opt/a.swap
4.設置自動掛載swap文件系統的虛擬內存。
方法一:用rc.local運行控制腳本文件來實現。
chmod -v +x /etc/rc.d/rc.local 給rc.local腳本添加x可執行權限
echo ‘swapon /opt/a.swap ‘ >> /etc/rc.d/rc.local

方法二:用/etc/fstab(file system table文件系統表)自動掛載配置文件來實現。
#vim /etc/fstab //fstab自動掛載
/opt/a.swap swap swap defaults 0 0
5.# mount -a 手動掛載fstab配置文件中的所有設備
6.# free -h 顯示內存狀態信息
total used free shared buffers cached
Mem: 1861 855 1005 0 113 341
-/+ buffers/cache: 401 1460
Swap: 3332 0 3332

#swapon -s //顯示當前的交換分區
Filename Type Size Used Priority
/dev/sda3 partition 2333688 0 -1
/dev/sdb3 partition 976888 0 -2
/root/Desktop/a.swap file 102392 0 -3

swap附加練習
1.用文件的方式創建1個1000M的交換分區?
#dd if=/dev/zero of=/tmp/a.swap bs=1M count=1000
#mkswap /tmp/a.swap
#swapon /tmp/a.swap
#vim /etc/fstab
/tmp/a.swap swap swap defaults 0 0
mount -a


卸載swap
#vim /etc/fstab 刪除開機自動掛載信息
swapon -s
Filename Type Size Used Priority
/dev/sda3 partition2333688 0 -1
/dev/sdb3 partition976888 0 -2
/root/Desktop/a.swap file 102392 0 -3
/tmp/a.swap file 1023992 0 -4

#swapoff /root/Desktop/a.swap 設置swap文件無效
swapon -s
Filename Type Size Used Priority
/dev/sda3 partition 2333688 0 -1
rm -rf /root/Desktop/a.swap 刪除swap文件

swap交換分區