免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

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

2022-10-12    分類: 網站建設

寫這個帖子的原因是有網友在廣告中國論壇問怎么樣才能刪除掉 VPS 的SWAP 分區,大偉哥借機會在這里對VPS新手和站長管理員做個有關Linux SWAP 的基礎小科普,是給新手看的,高深的東西大偉哥是真的不會。

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

 

swap 是類 Unix 操作系統下虛擬內存技術的實現。簡單地說,swap 文件或者 swap 分區(交換區)就是把一部分硬盤空間拿出來,模擬成備用的內存給 linux 使用。Linux 系統在運行中會把內存中暫時用不到的部分數據放在 swap 分區中保存,把寶貴的內存資源分配給其他更加需要內存的程序使用。

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

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

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

大偉哥個人認為,在目前云服務器內存還不是很大的情況下,swap 還是需要使用的,至少大偉哥自己就碰到過因為數據庫進程被強行 kill 引起的網站崩潰問題。如果怕占用太多硬盤空間,你可以把 swap 設置小一點。另外,為了讓系統盡量少使用 swap 而多使用物理內存,還可以通過調低 swappiness 參數來實現。

二、如何使用 SWAP?

 

使用 swap 有兩種方式,一種是創建 SWAP 分區即交換分區,另一種是使用 swap 文件。

以前有一種說法是 swap 分區比 swap 文件在速度上要快一些,但是在 linux 內核 2.6.x 及以后版本,這兩種方法在性能和速度上其實很接近了,特別是 swap 文件是連續存放在硬盤里的情況下。而且 swap 文件比 swap 分區更靈活,可以放在硬盤的任何目錄下,并且隨時調整大小。基于這兩種不同方式各自的優缺點,你可以根據實際情況選擇使用哪種方式。

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

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

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

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

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

2、使用 top 或者 free -m 命令可以查看當前內存和 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 部分第一二行是物理內存的使用情況 ,最后一行就是 swap 的使用情況了。完全沒用到,說明目前阿里云的 ECS 很悠閑,一點也不累。

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

工作用的電腦也還行,內存占用率更低,交換分區也沒用上。

3、創建 swap 分區或者 swap 文件。

創建 swap 分區要用到分區工具比如 fdisk 或者 parted,這里大偉哥就不講了,只是提醒一下,磁盤操作需要小心謹慎,萬一丟失數據就不好了。

要創建 swap 文件,可以用 dd 命令,下面的例子就是在/根目錄下創建一個 2048 GB 大小的文件,名稱是 swapfile:

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

給予合適的權限:

chmod 600 /swapfile

4、建立 swap 的文件系統:

mkswap /swapfile

如果你創建的是 swap 分區/dev/sdb,則需要用同樣的命令對 swap 分區進行格式化:

mkswap /dev/sdb

5、建立 swap 的文件系統:

swapon /swapfile

或者:

swapon /dev/sdb

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

/swapfile none swap defaults 0 0

或者:

/dev/sdb none swap defaults 0 0

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

# swapoff -a # rm -f /swapfile

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

三、如何使用 swappiness 參數設置用好 SWAP?

 

論壇上的朋友因為擔心 swap 的使用會拖慢系統,所以才發貼尋求刪除 swap 交換分區的方法,其實不用過分擔心這一點,因為 linux 肯定不會那么傻,放著大量空閑的物理內存不用而去使用慢得多的 swap。就如大偉哥前面的例子,不管是 1 GB 內存的阿里云 ECS 服務器,還是 20 GB 內存的工作站,在物流內存還有富余的情況下,linux 默認是用不到 swap 分區的。如果到了大量使用 swap 分區的時候,那物理內存肯定是不夠用了,這時候沒有 swap 分區反而性能下降會更明顯。所以沒有太大的必要去刪除 swap 分區。

何況我們還有一個很有用的參數 swappiness 可以調整。swappiness=0 的時候表示大限度使用物理內存,swappiness=100 的時候表示積極的使用 swap 分區,并且把內存上的數據及時的搬運到 swap 空間里面。當然參數為 0 的時候并不是說要等物理內存完全用光以后才開始用 swap 的,網絡上有關于這個參數的算法說明,感興趣的話可以自己去搜索,大偉哥這里知其然不知其所以然,就不在這里裝逼了。

一般 linux 默認的 swappiness 參數是 60。你可以試著調小一些,比如說設置成 10。以下是幾個有關 swappiness 操作的命令說明:

1、查看你的系統里面的 swappiness

cat /proc/sys/vm/swappiness

2、修改 swappiness 值為 10:

$ sudo sysctl vm.swappiness=10

上面這條命令只是臨時性的修改,重啟系統后會恢復成默認的 60,如果需要永久性的設置,可以修改/etc/sysctl.conf 文件,在這個文檔的最后加上下面這樣一行代碼然后保存:

vm.swappiness=10

 

網站題目:SWAP是什么?SWAP有什么用?SWAP怎么用?
文章地址:http://m.newbst.com/news/204819.html

成都網站建設公司_創新互聯,為您提供商城網站網頁設計公司定制開發網站排名企業建站服務器托管

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都app開發公司