在linux磁碟剛分割的時候,我們會分割一個swap分割區,這區塊分割作為一塊虛擬內存,承擔著擴充記憶體的作用。然而在工作中我們會遇到虛擬記憶體也不夠用的情況,這個時候我們也不能重新給磁碟進行分區,只能透過增加一個swap文件,來擴充我們的虛擬記憶體。下面小編就為大家帶來擴展虛擬記憶體的方法教學。一起去看看吧!
##1.檢查現有交換空間的大小
如果你想檢查你現有虛擬記憶體的大小,可以使用指令‘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” 定義區塊的數量,這兩個參數的多少決定了目標文件的大小。
[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
可以看到新產生了一個swapfile文件,大小為300M.
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 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
可以興奮的看到,相對於初始的虛擬內存,現在增加了300M。是不是有點激動。
以上是學習如何增加虛擬記憶體的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!