centos7設置虛擬內存

環境說明:

系統:Centos 7

首先查看當前的內存和swap 空間大小

默認單位爲k, -m 單位爲M

free -m

查看swap信息,包括文件和分區的詳細信息

swapon -s
# 或者
cat /proc/swaps

如果沒有虛擬內存,我們就需要手動添加交換分區。

注意,OPENVZ架構的VPS是不支持手動添加交換分區的

添加交換空間有兩種選擇:添加一個交換分區或添加一個交換文件。推薦你添加一個交換分區;不過,若你沒有

多少空閒空間可用, 則添加交換文件。

查看vps的虛擬架構

現在市面上的vps虛擬技術有許多種,比如Openvz、Xen、VMware vSphere、Hyper-V、KVM及Xen的HVM與PV

等,在Xen中pv是半虛擬化,hvm是全虛擬化,pv只能用於linux內核的系統,hvm可以虛擬所有常見操作系統

(linux+windows),理論效率比pv略低,另外hvm需要cpu虛擬化指令支持,pv無此要求,而Openvz是一個類似於

linux-VServer的操作系級全虛擬化解決方案。

安裝依賴

Centos系統

yum install virt-what

Debian/Ubuntu系統

apt-get install virt-what
查看架構
virt-what

增加swap交換文件

使用dd命令創建一個swap交換文件

# 建立一個/home/swap的分區文件,大小爲2G。
dd if=/dev/zero of=/home/swap bs=1024 count=2048k

製作爲swap格式文件

mkswap /home/swap

再用swapon命令把這個文件分區掛載swap分區

swapon /home/swap

我們用free -m命令看一下,發現已經有交換分區了。

但是重啓系統後,swap分區又變成0了。

爲防止重啓後swap分區變成0,要修改/etc/fstab文件

vi /etc/fstab
# 或者
vim /etc/fstab

# 在文件末尾(最後一行)加上 這樣就算重啓系統,swap分區還是有值。
/home/swap swap swap defaults 0 0

調整 swappiness

swappiness的值的大小對如何使用swap分區是有着很大的聯繫的。swappiness=0的時候表示最大限度使用物理內存,然後纔是 swap空間,swappiness=100的時候表示積極的使用swap分區,並且把內存上的數據及時的搬運到swap空間裏面。一般linux的默認設置爲60,也就是說內存在使用到100-60=40%的時候,就開始出現有交換分區的使用。

# 查看swappiness的值
cat /proc/sys/vm/swappiness

# 臨時修改
sysctl vm.swappiness=10

# 永久修改 添加vm.swappiness=60
vim /etc/sysctl.conf

# 激活設置
sysctl -p

刪除swap交換文件

刪除操作是基於上述的添加方式,可根據實際情況修改

先停止swap分區

/sbin/swapoff /home/swap

刪除swap分區文件

rm -rf /home/swap

刪除自動掛載配置命令

vim /etc/fstab # 刪除 /home/swap swap swap default 0 0

使用分區來做SWAP(虛擬內存)

使用fdisk來創建交換分區( /dev/sdb2 是創建的交換分區)

fdisk /dev/sdb2

使用 mkswap 命令來設置交換分區:

mkswap /dev/sdb2

啓用交換分區

swapon /dev/sdb2

寫入/etc/fstab,以便在引導時啓用

vi /etc/fstab
# 或者
vim /etc/fstab

/dev/sdb2 swap swap defaults 0 0

刪除交換分區

刪除操作是基於上述的添加方式,可根據實際情況修改

先停止swap分區

/sbin/swapoff /dev/sdb2

刪除自動掛載配置命令

vi /etc/fstab
# 或者
vim /etc/fstab
# 刪除 /dev/sdb2 swap swap defaults 0 0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章