Linux擴展虛擬內存的方法教程
添加時間:2017-2-24 20:59:57
添加:
思海網絡
在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。是不是有點激動。
關鍵字:Linux、虛擬內存、掛載
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解