建立交換分割槽的兩個命令

2021-08-14 21:51:32 字數 2008 閱讀 8160

交換分割槽在物理記憶體(ram)被填滿時用來保持記憶體中的內容。當 ram 被耗盡,linux 會將記憶體中不活動的頁移動到交換空間中,從而空出記憶體給系統使用。雖然如此,但交換空間不應被認為是物理記憶體的替代品。

若系統中沒有配置交換分割槽,當記憶體耗盡後,系統可能會殺掉正在執行中的程序/應用,從而導致系統崩潰。在本文中,我們將學會如何為 linux 系統新增交換分割槽,我們有兩個辦法:

第乙個方法(使用 fdisk 命令)

通常,系統的第一塊硬碟會被命名為 /dev/sda,而其中的分割槽會命名為 /dev/sda1 、 /dev/sda2。 本文我們使用的是一塊有兩個主分割槽的硬碟,兩個分割槽分別為 /dev/sda1、 /dev/sda2,而我們使用/dev/sda3 來做交換分割槽。

首先建立乙個新分割槽,

$ fdisk /dev/sda
按 n 來建立新分割槽。系統會詢問你從哪個柱面開始,直接按回車鍵使用預設值即可。然後系統詢問你到哪個柱面結束, 這裡我們輸入交換分割槽的大小(比如 1000mb)。這裡我們輸入 +1000m。

現在我們建立了乙個大小為 1000mb 的磁碟了。但是我們並沒有設定該分割槽的型別,我們按下 t 然後回車,來設定分割槽型別。

現在我們要輸入分割槽編號,這裡我們輸入 3,然後輸入磁碟分類號,交換分割槽的分割槽型別為 82 (要顯示所有可用的分割槽型別,按下 l ) ,然後再按下 w 儲存磁碟分割槽表。

再下一步使用 mkswap 命令來格式化交換分割槽:

$ mkswap /dev/sda3
然後啟用新建的交換分割槽:

$ swapon /dev/sda3
然而我們的交換分割槽在重啟後並不會自動掛載。要做到永久掛載,我們需要新增內容到 /etc/fstab 檔案中。開啟 /etc/fstab 檔案並輸入下面行:

$ vi /etc/fstab

/dev/sda3 swap swap default 0 0

儲存並關閉檔案。現在每次重啟後都能使用我們的交換分割槽了。

第二種方法(使用 fallocate 命令)

我推薦用這種方法因為這個是最簡單、最快速的建立交換空間的方法了。fallocate 是最被低估和使用最少的命令之一了。 fallocate 命令用於為檔案預分配塊/大小。

使用 fallocate 建立交換空間,我們首先在 / 目錄下建立乙個名為 swap_space 的檔案。然後分配 2gb 到 swap_space檔案:

$ fallocate -l 2g /swap_space
我們執行下面命令來驗證檔案大小:

$ ls -lh /swap_space
然後更改檔案許可權,讓 /swap_space 更安全:

$ chmod 600 /swap_space
這樣只有 root 可以讀寫該檔案了。我們再來格式化交換分割槽(lctt 譯註:雖然這個 swap_space 是個檔案,但是我們把它當成是分割槽來掛載):

$ mkswap /swap_space
然後啟用交換空間:

$ swapon -s
每次重啟後都要重新掛載磁碟分割槽。因此為了使之持久化,就像上面一樣,我們編輯 /etc/fstab 並輸入下面行:

/swap_space swap  swap  sw  0  0
儲存並退出檔案。現在我們的交換分割槽會一直被掛載了。我們重啟後可以在終端執行 free -m 來檢查交換分割槽是否生效。

via: 

[1] 譯者:lujun9972

[2] 校對:wxy

[3]

本文由 lctt

[4] 原創編譯,linux中國

[5] 榮譽推出

ubuntu 修改或建立交換分割槽的大小。

第一 檢視當前空間大小 free m total used free shared buffers cached mem 1002 977 24 0 25 638 buffers cache 313 688 swap 991 0 991 建立交換分割槽 第二 進入root使用者 輸入 sudo i ...

ubuntu 修改或建立交換分割槽的大小。

第一 檢視當前空間大小 free m total used free sharedbuffers cached mem 1002977 240 25638 buffers cache 313688 swap 9910 991 建立交換分割槽 第二 進入root使用者 輸入 sudo i 然後輸入密碼...

兩個整數交換

第乙個程式設計題是 用 c 語言寫乙個函式交換兩整數的值,不借助第三個變數。事實上這個題目一聽到就有了想法,因為以前有做過,形如 方法一 a a b b a b a a b 不過提出了最大的問題,就是兩個正數的溢位問題。這個確實是缺限,以前遇到卻沒去找它的解決方法。此時提出了強轉型別為long in...