中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

SWAP是什么?SWAP有什么用?SWAP怎么用?

2022-10-12    分類(lèi): 網(wǎng)站建設(shè)

寫(xiě)這個(gè)帖子的原因是有網(wǎng)友在廣告中國(guó)論壇問(wèn)怎么樣才能刪除掉 VPS 的SWAP 分區(qū),大偉哥借機(jī)會(huì)在這里對(duì)VPS新手和站長(zhǎng)管理員做個(gè)有關(guān)Linux SWAP 的基礎(chǔ)小科普,是給新手看的,高深的東西大偉哥是真的不會(huì)。

一、什么是 SWAP?SWAP 有什么用?

 

swap 是類(lèi) Unix 操作系統(tǒng)下虛擬內(nèi)存技術(shù)的實(shí)現(xiàn)。簡(jiǎn)單地說(shuō),swap 文件或者 swap 分區(qū)(交換區(qū))就是把一部分硬盤(pán)空間拿出來(lái),模擬成備用的內(nèi)存給 linux 使用。Linux 系統(tǒng)在運(yùn)行中會(huì)把內(nèi)存中暫時(shí)用不到的部分?jǐn)?shù)據(jù)放在 swap 分區(qū)中保存,把寶貴的內(nèi)存資源分配給其他更加需要內(nèi)存的程序使用。

SWAP是什么?SWAP有什么用?SWAP怎么用?

合理地配置和使用 swap,可以讓 Linux 在有限的硬件配置下完成更多的處理任務(wù)。另外,有了 swap 的緩沖,還可以避免 linux 系統(tǒng)做出一些過(guò)激的保護(hù)機(jī)制(OOM),在內(nèi)存不夠用的情況下殺死某些雖然占用內(nèi)存很多但卻非常重要的服務(wù)進(jìn)程,比如mysql數(shù)據(jù)庫(kù)服務(wù)。作為一臺(tái)網(wǎng)站服務(wù)器,底層的數(shù)據(jù)庫(kù)進(jìn)程沒(méi)有了,web server 即使還在運(yùn)行,取不到數(shù)據(jù)又有什么用呢?所以有些主機(jī)商比如 Linode 會(huì)在管理面板里直接提供相應(yīng)的功能,讓你很方便地創(chuàng)建 swap 分區(qū)。

然而,swap 畢竟是硬盤(pán)虛擬出來(lái)的假的內(nèi)存,比起物理內(nèi)存的讀取速度來(lái)肯定是非常渣的,同時(shí),如果頻繁地在內(nèi)存和 swap 之間進(jìn)行 IO 操作,也會(huì)帶來(lái)額外的系統(tǒng)開(kāi)銷(xiāo)。因此過(guò)多的依賴 swap 分區(qū),可能會(huì)拖慢系統(tǒng)的性能。這也是為什么有些主機(jī)商比如阿里云不推薦你使用 swap 的原因(你可以加錢(qián)升級(jí)到更大內(nèi)存的套餐啊親)。

大偉哥個(gè)人認(rèn)為,在目前云服務(wù)器內(nèi)存還不是很大的情況下,swap 還是需要使用的,至少大偉哥自己就碰到過(guò)因?yàn)閿?shù)據(jù)庫(kù)進(jìn)程被強(qiáng)行 kill 引起的網(wǎng)站崩潰問(wèn)題。如果怕占用太多硬盤(pán)空間,你可以把 swap 設(shè)置小一點(diǎn)。另外,為了讓系統(tǒng)盡量少使用 swap 而多使用物理內(nèi)存,還可以通過(guò)調(diào)低 swappiness 參數(shù)來(lái)實(shí)現(xiàn)。

二、如何使用 SWAP?

 

使用 swap 有兩種方式,一種是創(chuàng)建 SWAP 分區(qū)即交換分區(qū),另一種是使用 swap 文件。

以前有一種說(shuō)法是 swap 分區(qū)比 swap 文件在速度上要快一些,但是在 linux 內(nèi)核 2.6.x 及以后版本,這兩種方法在性能和速度上其實(shí)很接近了,特別是 swap 文件是連續(xù)存放在硬盤(pán)里的情況下。而且 swap 文件比 swap 分區(qū)更靈活,可以放在硬盤(pán)的任何目錄下,并且隨時(shí)調(diào)整大小?;谶@兩種不同方式各自的優(yōu)缺點(diǎn),你可以根據(jù)實(shí)際情況選擇使用哪種方式。

1、可以使用 swap -s 命令查看 swap 設(shè)置的情況。

daweibro@aliyun:~$ swapon -s Filename               Type        Size    Used    Priority /var/swap              file        2097148    0    -1

上面是大偉哥阿里云 ECS 的情況,說(shuō)明 swap 是文件的形式,大小是 2 GB 左右,文件位于/var/目錄下面。

daweibro@Workstation:~$ swapon -s Filename                Type        Size    Used    Priority /dev/dm-2               partition   3999740    0    -1

上面是大偉哥工作用電腦的情況,這里 swap 是獨(dú)立分區(qū)的形式,大小 4GB 左右。

2、使用 top 或者 free -m 命令可以查看當(dāng)前內(nèi)存和 swap 具體的使用情況。這里我們以 free -m 為例:

daweibro@aliyun:~$ free -m              total       used       free     shared    buffers     cached Mem:           992        875        116         65        101        370 -/+ buffers/cache:        404        588 Swap:         2047          0       2047

以上 Mem 部分第一二行是物理內(nèi)存的使用情況 ,最后一行就是 swap 的使用情況了。完全沒(méi)用到,說(shuō)明目前阿里云的 ECS 很悠閑,一點(diǎn)也不累。

daweibro@Workstation:~$ free -m               total        used        free      shared  buff/cache   available Mem:          19954       10761        6701         416        2492        8327 Swap:          3905           0        3905

工作用的電腦也還行,內(nèi)存占用率更低,交換分區(qū)也沒(méi)用上。

3、創(chuàng)建 swap 分區(qū)或者 swap 文件。

創(chuàng)建 swap 分區(qū)要用到分區(qū)工具比如 fdisk 或者 parted,這里大偉哥就不講了,只是提醒一下,磁盤(pán)操作需要小心謹(jǐn)慎,萬(wàn)一丟失數(shù)據(jù)就不好了。

要?jiǎng)?chuàng)建 swap 文件,可以用 dd 命令,下面的例子就是在/根目錄下創(chuàng)建一個(gè) 2048 GB 大小的文件,名稱是 swapfile:

dd if=/dev/zero of=/swapfile bs=1M count=2048

給予合適的權(quán)限:

chmod 600 /swapfile

4、建立 swap 的文件系統(tǒng):

mkswap /swapfile

如果你創(chuàng)建的是 swap 分區(qū)/dev/sdb,則需要用同樣的命令對(duì) swap 分區(qū)進(jìn)行格式化:

mkswap /dev/sdb

5、建立 swap 的文件系統(tǒng):

swapon /swapfile

或者:

swapon /dev/sdb

6、編輯/etc/fstab 文件,在文件末尾根據(jù)情況加入下面這兩行中的一行,然后保存退出,再重啟系統(tǒng)運(yùn)行 swapon -s 或者 top/free 命令應(yīng)該就能看到新添加的 swap 交換區(qū)了。

/swapfile none swap defaults 0 0

或者:

/dev/sdb none swap defaults 0 0

7、如果你做了一個(gè)艱難的決定,要和之前的 swap 交換區(qū)說(shuō)再見(jiàn),只要反方向操作就可以了。首先 swapoff,然后刪除 swap 文件或分區(qū):

# swapoff -a # rm -f /swapfile

最后把之前加入/etc/fstab 文件的行刪除就好了。

三、如何使用 swappiness 參數(shù)設(shè)置用好 SWAP?

 

論壇上的朋友因?yàn)閾?dān)心 swap 的使用會(huì)拖慢系統(tǒng),所以才發(fā)貼尋求刪除 swap 交換分區(qū)的方法,其實(shí)不用過(guò)分擔(dān)心這一點(diǎn),因?yàn)?linux 肯定不會(huì)那么傻,放著大量空閑的物理內(nèi)存不用而去使用慢得多的 swap。就如大偉哥前面的例子,不管是 1 GB 內(nèi)存的阿里云 ECS 服務(wù)器,還是 20 GB 內(nèi)存的工作站,在物流內(nèi)存還有富余的情況下,linux 默認(rèn)是用不到 swap 分區(qū)的。如果到了大量使用 swap 分區(qū)的時(shí)候,那物理內(nèi)存肯定是不夠用了,這時(shí)候沒(méi)有 swap 分區(qū)反而性能下降會(huì)更明顯。所以沒(méi)有太大的必要去刪除 swap 分區(qū)。

何況我們還有一個(gè)很有用的參數(shù) swappiness 可以調(diào)整。swappiness=0 的時(shí)候表示大限度使用物理內(nèi)存,swappiness=100 的時(shí)候表示積極的使用 swap 分區(qū),并且把內(nèi)存上的數(shù)據(jù)及時(shí)的搬運(yùn)到 swap 空間里面。當(dāng)然參數(shù)為 0 的時(shí)候并不是說(shuō)要等物理內(nèi)存完全用光以后才開(kāi)始用 swap 的,網(wǎng)絡(luò)上有關(guān)于這個(gè)參數(shù)的算法說(shuō)明,感興趣的話可以自己去搜索,大偉哥這里知其然不知其所以然,就不在這里裝逼了。

一般 linux 默認(rèn)的 swappiness 參數(shù)是 60。你可以試著調(diào)小一些,比如說(shuō)設(shè)置成 10。以下是幾個(gè)有關(guān) swappiness 操作的命令說(shuō)明:

1、查看你的系統(tǒng)里面的 swappiness

cat /proc/sys/vm/swappiness

2、修改 swappiness 值為 10:

$ sudo sysctl vm.swappiness=10

上面這條命令只是臨時(shí)性的修改,重啟系統(tǒng)后會(huì)恢復(fù)成默認(rèn)的 60,如果需要永久性的設(shè)置,可以修改/etc/sysctl.conf 文件,在這個(gè)文檔的最后加上下面這樣一行代碼然后保存:

vm.swappiness=10

 

網(wǎng)站題目:SWAP是什么?SWAP有什么用?SWAP怎么用?
文章地址:http://www.rwnh.cn/news/204819.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司、定制開(kāi)發(fā)網(wǎng)站排名、企業(yè)建站服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司
卓尼县| 左云县| 江津市| 玉树县| 苗栗县| 上林县| 手机| 合山市| 图木舒克市| 泾源县| 来宾市| 镇安县| 江西省| 三都| 宝山区| 徐汇区| 柏乡县| 永泰县| 博湖县| 通化市| 平阳县| 谷城县| 博罗县| 且末县| 巴塘县| 湛江市| 广宁县| 临江市| 五华县| 句容市| 长阳| 体育| 滨州市| 陇川县| 什邡市| 霍林郭勒市| 汶川县| 开原市| 大渡口区| 栾城县| 那曲县|