《LINUX學習:Unix系統下對swap分區大小修改》要點:
本文介紹了LINUX學習:Unix系統下對swap分區大小修改,希望對您有用。如果有疑問,可以聯系我們。
隨著科技不斷的進步,內存大小在不斷的加大,使得swap分區的用處越來越小.所以在實際生產環境中有時需要對系統的swap分區大小來進行調整,不過建議在安裝系統時就定義好是否要swap分區、swap分區的大小是多少,如果是條件允許的話建議swap分區在2GB~4GB間,如果還不夠建議直接加內存.使用2GB的swap是因為有一些特殊的軟件可能在平時使用的時候會使用到swap分區,如高性能的Oracle.當然,如果后期在使用的過程中發現swap分區過大,磁盤空間又使用緊張,那么就很有必要對系統的swap分區大小做相應的縮減,反之亦然.因為有LVM的出現使得swap分區的調整方式有一點區別,在此就簡單的說一說swap分區的縮減辦法.
在對swap分區大小調整前還必要注意是否還有數據正在使用swap分區,如果是有在使用必要先修改下系統的內核變量刷新下swap分區查驗下,以免造成數據丟失,系統中默認使用swap時的是依靠/proc/sys/vm/swappiness中的變量來控制的,默認/proc/sys/vm/swappiness中的變量時60,當/proc/sys/vm/swappiness變量設置為0時是表示盡量不使用swap空間,其中值越大表示系統越傾向于使用swap空間,可以通過修改內核變量文件/etc/sysctl.conf來動態控制
[root@localhost ~]# sysctl -q vm.swappiness#查詢默認vm.swappiness變量大小
vm.swappiness = 60
[root@localhost ~]# vim /etc/sysctl.conf
…略…
vm.swappiness = 0
[root@localhost ~]# sysctl -p
[root@localhost ~]# swapoff -a && swapon -a#刷新swap,即關了再開
這樣就降低了系統對swap的使用可能性,當然如果內存確實夠時此時還是會使用到swap空間的,此時就不能對swap分區大小做調整,如果沒有那么才能繼續做swap分區大小的調整,而對swap分區做調整時有分成2種情況:1、是使用傳統磁盤分區 2、使用LVM管理的swap分區.這兩種情況下對系統的swap分區做調整是有所不同的.
? 先說一下傳統磁盤分區對swap分區做調整的辦法,總的來說使用傳統磁盤分區下對swap的增加和減小大致的原理是一致的:
[root@localhost ~]# swapon -s#先確認下是哪一個分區是作為swap分區
[root@localhost ~]# dd if=/dev/zero of=/tmp/swap bs=1MB count=2048#創建一個寫滿0的swap文件用來做swap,大小根據你需要調整的swap分區來定
[root@localhost ~]# chmod 600 /tmp/swap
[root@localhost ~]# swapoff -a#離線所有swap分區,相當于umount swap分區
[root@localhost ~]# mkswap /tmp/swap#創建swap分區,注意要記錄下下面生成的UUID
mkswap: /tmp/swap: warning: don't erase bootbits sectors
? ? ? ? on whole disk. Use -f to force.
Setting up swapspace version 1, size = 1999996 KiB
no label, UUID=7cc2ddfc-6057-49c8-b7a8-4f6e3807d731
[root@localhost ~]# swapon /tmp/swap#激活swap分區
這樣swap的臨時分區就建立好了,如果是調小或者是磁盤中還有未使用的分區時還可以在把原來的swap分區重新做修改后,再格式化調整大小后再創建成swap分區再把swap寫在獨立分區內,步驟辦法和上面一樣在此就不做過多的贅述了,無論如何把swap分區修改好后都需要根據實際修改的情況修改下/etc/fstab文件,注意UUID也要填新的,以確保系統重啟后會自動掛載swap分區.
? 第二種是swap分區使用LVM邏輯卷來創建管理的那么,只要在swap分區離線后用LVM的增減來對swap分區來做變化,至于LVM在以前有提及過所以在這里就簡單的寫一下減小,LVM中邏輯卷分區的增減變化可以參看: ?
[root@localhost ~]# swapon -s
[root@localhost ~]# swapoff -a
[root@localhost ~]# lvreduce -L 2048M /dev/mapper/VolGroup-Lv_swap
[root@localhost ~]# mkswap /dev/mapper/VolGroup-Lv_swap#注意記載UUID
mkswap: /dev/VolGroup/VolGroup-Lv_swap: warning: don't erase bootbits sectors
? ? ? ? on whole disk. Use -f to force.
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=d6210042-9bc0-4e56-bc5a-3ade79eb4791
[root@localhost ~]# swapon /dev/mapper/VolGroup-VolGroup--Lv_swap
總之如果是對swap修改后都要對/etc/fstab文件做修改,以確珍重啟后系統能自動掛載swap分區
本文永遠更新鏈接地址:?
更多LINUX教程,盡在維易PHP學院專欄。歡迎交流《LINUX學習:Unix系統下對swap分區大小修改》!
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/9049.html