Ⅰ 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 大小
Ⅱ linux設置開啟swap交換分區基本命令(虛擬內存)
linux設置開啟swap交換分區基本命令(虛擬內存)
在Linux系統下,我們要怎麼開啟swap交換分區,基本設置命令是什麼呢?下面為大家帶來最基本的配置命令,希望對大家有所幫助!
1.驗證不存在交換分區free-m
輸出如下:
Mem:99594747046142
-/+buffers/cache:758236
Swap:000
如果swap選項total是0則表示沒有交換分區,開始下一步
2.創建swap分區
使用dd命令選擇swap分區目錄以及大小,在此我們給他放到根目錄,創建的.是2G的虛擬內存,可以根據自己需要選擇大小。ddif=/dev/zeroof=/swapfilecount=2048bs=1M
接下來驗證根目錄是否存在swapfilels/|grepswapfile
不出意外的話你將會看到swapfile
3.激活swap分區
交換分區不會自動激活,你需要告訴伺服器如何格式化文件,使它作為一個有效的交換分區。
出於安全考慮,交交換區許可權設置成600
chmod600/swapfile
使用mkswap命令來設置交換文件:mkswap/swapfile
4.開啟swap分區swapon/swapfile
再次使用free-m查看內存使用情況,輸出如下:
Mem:184017548616231519
-/+buffers/cache:2101630
Swap:204702047
5.設置允許開機啟用swap分區sudovi/etc/fstab
在後面加上/swapfilenoneswapsw00
;Ⅲ linux伺服器創建swap分區會格式化分區嗎
swap分區其實就是將一部分的硬碟化出來充當內存的功能!其速度介於硬碟與內存之間,如果內存不足的話,swap分區能起到不錯的作用!這就是為什麼要劃分swap分區的原因。有同事問LINUX操作系統下如何創建swap分區? 其實不同的操作系統下,比如說RedHat在安裝操作系統的過程中,就會有提示創建swap分區,而且swap分區的大小一般為內存的1-2倍為佳。但有的操作系統在安裝的時候沒有swap分區,必須安裝完操作系統之後再配置,Ubuntu,CentOS系統,創建方法也很簡單快捷。方法主要有兩種:
方式一:通過創建分區的方式來創建
1). fdisk /dev/sdd # 創建分區、分區ID為82。 其他常用的83:Linux,8e:Linux LVM
2). mkswap /dev/sdd # 格式化為swap格式,這里假設硬碟分區為/dev/sdd,一般SAS硬碟sd開頭
3). swapon /dev/sdd # 啟動並掛載swap分區,這樣的話就算創建好了!
方式二:通過創建臨時文件的方式來創建
1). dd if=/dev/zero of=/tmp/swap bs=100M count=100 # 以dd命令創建swapfile,這里假設1G
2). mkswap /tmp/swap # 以mkswap將swapfile格式化為swap格式
3). swapon /tmp/swap # 以swapon來啟動檔案,使之成為swap
Ⅳ linux 怎麼增加swap分區
方法一、通過swap文件增加:
1、創建交換文件
[root@SOA ~]# dd if=/dev/zero of=/tmp/mem.swap bs=1M count=4096記錄了4096+0 的讀入記錄了4096+0 的寫出4294967296位元組(4.3 GB)已復制,54.6386 秒,78.6 MB/秒
當然根據bs指定的大小不同,我們也可以通過下面的文件增加:
dd if=/dev/zero of=/tmp/mem.swap bs=1M count=4096 (增加4G)或
dd if=/dev/zero of=swapfile bs=1024 count=1048576 (增加1G)
2、查看當前分區的大小
[root@SOA ~]#free -m total used free shared buffers cachedMem: 1875 1800 75 0 12 995-/+ buffers/cache: 792 1083Swap: 2047 0 2047
3、格式轉換並掛載
[root@SOA ~]#mkswap /tmp/mem.swap
Setting up swapspace version 1, size = 4294963 kB
[root@SOA ~]#swapon /tmp/mem.swap
4、三種確認是否增加成功的方法
[root@SOA ~]# swapon -sFilename Type Size Used Priority/dev/sda2 partition 2097144 8 -1/tmp/mem.swap file 4194296 0 -2[root@SOA ~]# free -m total used free shared buffers cachedMem: 1875 1773 102 0 13 977-/+ buffers/cache: 782 1093Swap: 6143 0 6143[root@SOA ~]# cat /proc/swapsFilename Type Size Used Priority/dev/sda2 partition 2097144 8 -1/tmp/mem.swap file 4194296 0 -2
以上不難看出,第一、三兩種方法效果相同。linux/unix的一個奇妙之處也在此,很多命令和直接查看某些文件或更改某些文件的值,效果是一樣的。
以上操作,在系統重啟後,swap文件的大小又會變回原大小,我們可以在/etc/fstab里增加下面的配置,使其重啟後,我們剛剛的配置仍然有效。
/tmp/mem.swap swap swap defaults 0 0
如果想卸載掉上面的分區,可以通過swapoff完成
[root@SOA ~]# swapoff /tmp/mem.swap
Ⅳ linux系統怎麼增加swap分區空間大小
1.查看swap分區大小的命令:」free -m「
2、選擇適合的分區,創建適合的swap文件,命令為:」dd if=/dev/zero of=/swap1 bs=1M count=2048「
3、將生成的文件設置為swap分區文件,命令:」mkswap /swap1「
4、激活新創建的swap分區,命令:」swapon /swap1「
5、查看生效的swap分區大小,命令:」free -m「
6、設置開機啟動新創建的swap分區,編輯」/etc/fstab」配置文件,在文件末尾添加」 /swap1 swap swap defaults 0 0「
Ⅵ 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情況腳本: