linuxswap設置
Ⅰ linux裡面交換分區一般設置多少
為了解答這個問題,我特意請教了IT大咖老男孩老師,我們聽聽Linux頂級專家的建議吧:
1.先說下swap的作用,主要是用來在物理內存不足時,把一部分磁碟空間作為內存使用,以防止物理內存滿,導致進程退出或系統宕機。
2. 常規伺服器可以按照如下規則設置swap大小:
· 4G以下,如果磁碟足夠,可以設置內存*2大小。
· 4-16G物理內存,可將SWAP設置1.5倍,即6-12G大小。
· 16G+物理內存,SWAP設置為16G。
3.極端情況,可以不設置swap,例如:大廠的高並發資料庫伺服器。
Ⅱ Linux - Swap
首先,swap是硬碟上的一塊空間。
其次,當內存沒有多餘空間的時候,可以將一部分數據交換到swap空間。也就是將內存中的一部分數據放到硬碟中,並釋放內存空間。這樣,釋放出的內存空間就又可以被利用來存儲其他數據了。
這樣,本來只有4G的內存,如果swap有2G的話,可使用的內存可以認為是6G。
但是,硬碟的速度比內存慢太多太多了。因此swap只是對內存的一種補充,是在內存不足時對內存的擴充,但是不能代替內存使用。
內存不足時, 操作系統 會選擇 最久沒被使用的內存數據 ,交換到swap空間。
注意,交換操作是由操作系統來進行的。
系統在什麼情況或條件下才會使用Swap分區的空間呢? 其實是Linux通過一個參數swappiness來控制的。當然還涉及到復雜的演算法。
這個參數值可為 0-100,控制系統 swap 的使用程度。
0告訴內核盡可能的不要將內存數據移到swap中,也即只有在迫不得已的情況下才這么做,而100告訴內核只要有可能,盡量的將內存中不常訪問的數據移到swap中。默認值為 60。注意:這個只是一個權值,不是一個百分比值,涉及到系統內核復雜的演算法
查看當前系統中swappiness的值
修改當前系統中swappiness的值
上面通過sysctl修改的swappiness值在系統重啟後會失效,要想重啟後繼續生效,需要修改配置文件/etc/sysctl.conf,將下面這行修改成10,如果文件中找不到這行的話,在文件末位加上這行就可以了
既然配置swap對桌面系統有幫助,那麼配置多少大小的swap比較合適呢?下面是ubuntu給出的建議:
Linux下有兩種類型的swap空間,swap分區和swap文件,他們有各自的特點:
swap分區上面由於沒有文件系統,所以相當於內核直接訪問連續的磁碟空間,效率相對要高點,但由於swap分區一般安裝系統時就分配好了了,後期要縮減空間和擴容都很不方便。
swap文件放在指定分區的文件系統裡面,所以有可能受文件系統性能的影響,但據說2.6版本以後的內核可以直接訪問swap文件對應的物理磁碟地址,相當於跳過了文件系統直接訪問磁碟,不過如果swap文件在磁碟上的物理位置不連續時,還是會對性能產生不利影響,但其優點就是靈活,隨時可以增加和移除swap文件。
如果配置有多個swap分區或者文件的話,這里將會有多行,每行代表一個正在被系統使用的swap分區或文件,下面是每個欄位的意思:
並不是swap空間佔用多就一定性能下降,真正影響性能是swap in和out的頻率,頻率越高,對系統的性能影響越大,我們可以通過vmstat命令來查看swap in/out的頻率
在添加swap分區前,首先得有一個空閑的分區,如果是一塊新的磁碟,可以用fdisk來創建一個新的分區用於swap。
添加swap文件就簡單多了,也沒有分區操作那麼有風險。
通過如下命令,能查看所有進程的使用swap情況
查看某個進程swap佔用內存大小腳本:
查看所有進程使用swap情況腳本:
Ⅲ 如何合理設置Linux的swap分區
1、首先在linux中打開terminal命令窗口。
Ⅳ Linux開啟Swap分區
title: 2021-02-07-Linux開啟Swap分區
date: 2021-02-07 11:20:20
categories: [linux]
tags: [linux分區擴容]
toc: true
場景: 華為雲購買的機器,默認不會開啟 swap 分區,伺服器運行內存只有 4GB ,不滿足使用,開啟 swap 交換分區
1、 開啟 swap 分區
新建一個專門的文件用於 swap 分區
註:此文件的大小是 count 的大小乘以 bs 大小,上面命令的大小是 8GB
2、 通過 mkswap 命令將上面新建出的文件做成 swap 分區
3、 查看內核參數 vm.swappiness
若 vm.swappiness 為 0 則根據實際需要調整成 30 或者 60
註:若想永久修改,則編輯 /etc/sysctl.conf 文件
4、 啟用此交換分區的交換功能
這里有可能會有報錯,如下
解決方法:
嘗試激活 Swap 文件
5、 關閉 swap 分區
6、 重新激活 swap 分區,沒有寫入系統配置文件中,系統重啟後,就需要重新激活
7、 如果需要一直保持這個 swap ,可以把它寫入 /etc/fstab 文件
8、 關機重啟確認 Swap 大小