linux swap(交換)
linux swap(交換)
在linux 系統中當實體記憶體不足的時候,系統會將那些記憶體中不活躍的分頁置換到swap 空間。
swap 在邏輯上擴充套件記憶體,但他畢竟不是記憶體不能取代記憶體,如果你的機器實體記憶體是實在不足,
最好的解決辦法是新增記憶體條。
linux swap 大小的設定沒有唯一的標準,因為系統負載各異。通用的劃分方式是當RAM<=2G 的
時候,swap 是RAM的兩倍。當RAM>2G 的時候,swap=RAM+2G.檢視當前系統的swap 大小與使用情況。
[oracle@zeng ~]$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda3 partition 3481592 0 -1
從swap 空間的使用情況來看,我的linux 系統效能還不錯。也可以使用free 命令來檢視swap的
大小和使用情況。
[oracle@zeng ~]$ free
total used free shared buffers cached
Mem: 1207500 986096 221404 0 43120 728300
-/+ buffers/cache: 214676 992824
Swap: 3481592 0 3481592
有時候你需要擴大swap。比如擴大swap 空間以應對記憶體密集型的運用程式(當然這不是根本
的解決辦法,單可能是最好最廉價的解決辦法)。擴大swap 的空間有三種備選的方法。新建
一個swap 分割槽,建立一個新的swap 檔案,或者擴充套件用作swap 的LVM2 邏輯卷。在修改swap
空間的時候swap 空間不能被分配給核心,所有才需要檢視/proc/swaps 確定swap 的使用情況。
建議的方式修改swap 空間的方式是重啟系統到rescue mode.
建立一個交換檔案
當然你也可以新建一個交換分割槽,或者擴充套件已有的用作交換的LVM2邏輯卷,如果有的話。
1、確定要建立的新交換檔案的大小(使用MB為單位),再乘以1024(block size)確定block的數量。
linux 中 swap space 不能小於32MB。
2、以需要的block size 建立檔案。這裡的bs 可以設定的大一點比如1MB,這樣swap space 效率會
更好。
[root@zeng ~]# dd if=/dev/zero f=/work/swapfile bs=1024 count=65536
65536+0 records in
65536+0 records out
67108864 bytes (67 MB) copied, 7.83355 s, 8.6 MB/s
3、把建立的檔案設定為交換檔案(swap file).
[root@zeng ~]# mkswap /work/swapfile
mkswap: /work/swapfile: warning: don't erase bootbits sectors
on whole disk. Use -f to force.
Setting up swapspace version 1, size = 65532 KiB
no label, UUID=d04ab35d-423a-4184-ad59-8ea3a0e4dae5
3、啟用剛才建立的swap file。
[root@zeng ~]# swapon /work/swapfile
4、檢視新增swap file 以後的swap 狀況。
[root@zeng ~]# swapon -s
Filename Type Size Used Priority
/dev/sda3 partition 3481592 0 -1
/work/swapfile file 65400 0 -2
[root@zeng ~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/sda3 partition 3481592 0 -1
/work/swapfile file 65400 0 -2
5、設定開機的時候自動啟用新建立的swap file。
上面的設定下次開機重啟的時候就無效了,要想重啟的時候總是有效,可以把swap file 的資訊
寫入/etc/fstab。
[root@zeng ~]# echo "/work/swapfile swap swap defaults 0 0" >> /etc/fstab
6、關掉swap file。
[root@zeng ~]# swapoff -v /work/swapfile
swapoff on /work/swapfile
確認下關閉交換檔案以後的swap 狀態。
[root@zeng ~]# swapon -s
Filename Type Size Used Priority
/dev/sda3 partition 3481592 0 -1
7、撤掉移除swap file。
[root@zeng ~]# rm /work/swapfile
rm: remove regular file `/work/swapfile'? y
另外記得把/etc/fstab 中關於/work/swapfile 的條目註釋掉,或者移除掉。
注:對於這個swap 一般桌面計算機基本用不上,因為一般現在的計算機記憶體都比較大。但是對於
伺服器就完全不同了,比如安裝oracle 資料庫軟體的時候就有檢查swap space 那麼一項。oracle
也會使用到交換,因為資料庫伺服器一般對記憶體是非常飢渴的。但是不要太依賴交換,人家本質上
還是硬碟空間,不管名字再怎麼好聽交換,虛擬記憶體。。。都是沒用的,用用就好。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26110315/viewspace-719872/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux 禁止swap交換Linux
- Linux交換空間swap講解Linux
- Linux SWAP 交換分割槽配置說明Linux
- Linux Swap交換分割槽介紹總結Linux
- java交換元素swap方法Java
- Linux下swap(交換分割槽)的增刪改Linux
- Linux 中交換空間 (swap)應該分多大才好?Linux
- 淺談Linux作業系統的Swap交換區Linux作業系統
- 【Linux】Linux檔案系統管理4 swap交換分割槽管理Linux
- 教你如何進行 linux swap 交換記憶體擴容Linux記憶體
- 揭開Linux作業系統的Swap交換區之謎Linux作業系統
- 雲端計算:交換分割槽管理 Swap
- [CareerCup] 5.6 Swap Odd and Even Bits 交換奇偶位
- 不用swap分割槽,用交換檔案(轉)
- Linux新增SWAPLinux
- [LeetCode] Swap Nodes in Pairs 成對交換節點LeetCodeAI
- Linux Swap擴容Linux
- linux下新增SWAPLinux
- linux 增加swap大小!Linux
- 【Solaris】Solaris檔案系統管理2 SWAP交換分割槽管理
- LINUX 建立swap空間Linux
- linux 修改swap空間Linux
- Linux 建立swap分割槽Linux
- Linux增加swap空間Linux
- Linux 增加 swap 分割槽Linux
- linux新增swap分割槽Linux
- 擴充linux swap空間Linux
- Linux之 增加swap空間Linux
- 轉:Linux check mem,cpu,SwapLinux
- linux下增加swap分割槽Linux
- 使用磁碟為Linux新增swapLinux
- linux 增加 刪除swap方法Linux
- 手工為Linux新增swap大小Linux
- 【leetcode】24. Swap Nodes in Pairs 連結串列奇偶節點交換LeetCodeAI
- linux交換分割槽Linux
- Linux系統調整swap大小Linux
- Linux記憶體、Swap、Cache、BufferLinux記憶體
- 在Linux中增加swap空間Linux