設置/修改linux上的swap交換分區的方法

設置centos上的swap交換分區的方法

做爲linux世界裏最穩定的服務器版本,rhas5一直有很大的應用面,以前一直關注的是freebsd,由於應用的須要,特別在配合mysql和oracle上red hat有着太多優點。

用centos來代替red hat as的使用,由於centos5是利用rhas5的源碼,去掉redhat的商標、圖標以後編譯發行的,是最一個源碼編譯版本,我用的是centos 5.2

在安裝centos 5.2的時候,忘設置swap交換分區,在內存小的狀況下,增大swap的做用比較有效的。

第一步 建立文件塊

#cd /var (進入一個文件夾)

#dd if=/dev/zero of=swapfile bs=1024 count=524288 (建立512M的swap ,通常是內存的兩倍)

#/sbin/mkswap swapfile (建立swap文件)

#/sbin/swapon swapfile (激活swap文件)

#/sbin/swapon -s (檢查swap是否正確)

結果:

Filename Type Size Used Priority

/var/swapfile file 524016 0 -1

#vi /etc/fstab (加到fstab文件中讓系統引導時自動啓動)

在末尾增長如下內容:

/var/swapfile swap swap defaults 0 0

#reboot

重啓以後,top命令查看,有swap分區的大小了



swap的問題已經解決(源自網絡)

解決辦法:

二、格式華及啓動swap文件 

接下來執行mkswap命令,將myswap文件格式化成s文件系統,系統才能使用,切換到/tmp目錄,並執行如下命令: 

# mkswap swapfree (#將文件格式化爲swap文件格式) 

setting up swapspace version 1 , size = 262144 KB 

# swapon /tmp/swapfree (#啓動swap分區) 

要中止使用新建立的swap文件,只要執行 swapoff /tmp/swapfree命令便可,若是swap交換文件再也不使用,能夠刪除此文件。

三、檢查swap

#swapon -s

四、 開機時自動啓動新添加的swap分區 

若是每次開機後都要執行swapon命令啓動swap分區或者文件,這太麻煩了.這時能夠利用文字編輯器在/etc/fstab文件加一行,好讓開機時自動啓動swap分區及文件: 

/dec/hdb5 swap swap defaults 0 0 (開機時啓動此swap分區) 

/tmp/swapfree swap swap defaults 0 0 (開機時啓動此swap文件) .

swap空間大小:

一般狀況下,Swap空間應大於或等於物理內存的大小,最小不該小於64M,一般Swap空間的大小應是物理內存的2-2.5倍。但根據不一樣的應用,應有不一樣的配置:若是是小的桌面系統,則只須要較小的Swap空間,而大的服務器系統則視狀況不一樣須要不一樣大小的Swap空間。特別是數據庫服務器和Web服務器,隨着訪問量的增長,對Swap空間的要求也會增長,具體配置參見各服務器產品的說明。

swap數量:

Swap分區的數量對性能也有很大的影響。由於Swap交換的操做是磁盤IO的操做,若是有多個Swap交換區,Swap空間的分配會以輪流的方式操做於全部的Swap,這樣會大大均衡IO的負載,加快Swap交換的速度。若是隻有一個交換區,全部的交換操做會使交換區變得很忙,使系統大多數時間處於等待狀態,效率很低。用性能監視工具就會發現,此時的CPU並不很忙,而系統卻慢。這說明,瓶頸在IO上,依靠提升CPU的速度是解決不了問題的。 mysql

注: linux

查看swap 空間大小(總計): 
# free -m 默認單位爲k, -m 單位爲M
total used free shared buffers cached
Mem: 377 180 197 0 19 110
-/+ buffers/cache: 50 327
Swap: 572 0 572

Mem 行顯示了從系統角度看來內存使用的狀況, total是系統可用的內存大小, 數量上等於系統物理內存減去內核保留的內存. 
buffers和cached是系統用作緩衝的內存. buffers與某個塊設備關聯, 包含了文件系統元數據, 而且跟蹤了塊的變化. cache只包含了文件自己.

-/+ buffers/cache 行則從用戶角度顯示內存信息, 可用內存從數量上等於mem行used列值減去buffers和cached內存的大小.

由於buffers和cached是操做系統爲加快系統運行而設置的, 當用戶須要時, 能夠只接爲用戶使用.

top 顯示系統運行時的各進程動態、實時的狀態(cpu、內存)

top 中有3個列 VIRT RES SHR, 標示了進程使用的內存狀況.
VIRT 標識這個進程 可使用的內存總大小, 包括這個進程真實使用的內存, 映射過的文件, 和別的進程共享的內存等. 
RES 標識這個這個進程真實佔用內存的大小. 
SHR 標識能夠和別的進程共享的內存和庫大小.

vmstat 顯示內存的使用狀況

這些命令都是從/proc/meminfo中讀取內存 信息.

關於/proc/meminfo中各行的含意, 在內核源代碼的Documentation/filesystems/proc.txt文 件中有敘述

系統的真實內存大小能夠用 dmesg | grep [mM][eE][mM]看到

/proc/pid/status顯示一個進程的詳細 狀態 sql

相關文章
相關標籤/搜索