Linux Swap: 深入解析 mkswap, mkfs.swap, 和 swapon

在這里插入圖片描述

文章目錄

    • Linux Swap: 深入解析 `mkswap`, `mkfs.swap`, 和 `swapon`
      • 什么是 Swap?
      • 主要命令介紹
        • 1. mkswap
        • 2. mkfs.swap
        • 3. swapon
      • 創建和管理 Swap 的步驟
        • 1. 創建 Swap 分區
        • 2. 初始化 Swap
        • 3. 激活 Swap
        • 4. 持久化配置
        • 5. 查看 Swap 狀態
      • 刪除 Swap 分區或文件
        • 1. 停用 Swap
        • 2. 刪除 Swap 配置
        • 3. 刪除分區或文件
      • 注意事項
      • 總結

Linux Swap: 深入解析 mkswap, mkfs.swap, 和 swapon

在 Linux 系統中,Swap 是一種重要的虛擬內存技術,用于緩解物理內存不足的情況。本文將圍繞 mkswapmkfs.swapswapon 這三個命令,介紹 Swap 的概念、用途及其管理方法。


什么是 Swap?

Swap 是 Linux 系統中的交換空間,當物理內存(RAM)不足以支持當前運行的進程時,操作系統會將部分不活躍的數據轉移到磁盤上的 Swap 區域。這種機制雖然比 RAM 慢,但可以防止系統因內存不足而崩潰。

Swap 可以以兩種形式存在:

  1. Swap 分區:獨立的磁盤分區,專用于 Swap。
  2. Swap 文件:存儲在文件系統中的文件,作為虛擬內存使用。

主要命令介紹

1. mkswap

mkswap 命令用于初始化一個分區或文件,準備其作為 Swap 使用。

  • 基本語法

    mkswap [選項] <設備或文件>
    
  • 常用選項

    • -f:強制創建,即使目標設備已有數據。
    • -v0/-v1:選擇 Swap 格式版本。
  • 示例
    初始化一個分區作為 Swap:

    sudo mkswap /dev/sda2
    
2. mkfs.swap

嚴格來說,mkfs.swap 并不是一個獨立的命令,它是 mkswap 的一個符號鏈接。在大多數現代 Linux 系統中,mkfs.swap 的功能和 mkswap 完全一致。使用時推薦直接調用 mkswap

3. swapon

swapon 命令用于激活 Swap 區域,使其開始被系統使用。

  • 基本語法

    swapon [選項] <設備或文件>
    
  • 常用選項

    • -a:激活所有在 /etc/fstab 中定義的 Swap。
    • --show:顯示當前已激活的 Swap 信息。
  • 示例
    激活一個分區作為 Swap:

    sudo swapon /dev/sda2
    

    顯示當前激活的 Swap 區域:

    swapon --show
    

創建和管理 Swap 的步驟

以下是一個完整的創建、激活和管理 Swap 的過程:

1. 創建 Swap 分區

使用分區工具(如 fdiskparted)創建一個分區,并將分區類型設置為 82(Linux swap)。

2. 初始化 Swap

使用 mkswap 命令對分區進行格式化:

sudo mkswap /dev/sda2
3. 激活 Swap

使用 swapon 激活 Swap:

sudo swapon /dev/sda2
4. 持久化配置

編輯 /etc/fstab 文件,添加以下條目:

/dev/sda2 none swap sw 0 0
5. 查看 Swap 狀態

使用 swaponfree 查看當前 Swap 的使用情況:

swapon --show
free -h

刪除 Swap 分區或文件

如果不再需要某個 Swap,可以按照以下步驟操作:

1. 停用 Swap
sudo swapoff /dev/sda2
2. 刪除 Swap 配置

/etc/fstab 文件中移除對應的條目。

3. 刪除分區或文件

根據需要刪除分區或文件。


注意事項

  1. Swap 大小:推薦 Swap 的大小至少等于物理內存的大小,如果需要支持休眠功能(hibernation),則建議 Swap 大小為內存的 1.5-2 倍。
  2. 性能影響:由于磁盤的速度遠慢于內存,頻繁使用 Swap 可能會導致性能下降。因此,Swap 只是內存不足時的臨時緩沖。
  3. 安全性:啟用 Swap 加密可以防止敏感數據在磁盤上被泄露。

總結

Swap 是 Linux 系統內存管理的重要組成部分,而 mkswapmkfs.swapswapon 是管理 Swap 的關鍵工具。通過正確配置和使用 Swap,可以提升系統的穩定性,并在資源有限時為應用程序提供額外的緩沖空間。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/63645.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/63645.shtml
英文地址,請注明出處:http://en.pswp.cn/web/63645.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

取子串(指針)

#include <stdio.h> #include <string.h>char* substr(char *s, int startloc, int len) {static char result[51]; // 定義一個足夠大的靜態數組來存儲結果static char result1[] {N,U,L,L,\0};int i, j;// 檢查startloc是否在字符串的范圍內if (startloc < 1…

「Mac暢玩鴻蒙與硬件45」UI互動應用篇22 - 評分統計工具

本篇將帶你實現一個評分統計工具&#xff0c;用戶可以對多個選項進行評分。應用會實時更新每個選項的評分結果&#xff0c;并統計平均分。這一功能適合用于問卷調查或評分統計的場景。 關鍵詞 UI互動應用評分統計狀態管理數據處理多目標評分 一、功能說明 評分統計工具允許用…

類與對象的理解

面向對象中兩個重要的概念&#xff1a;類與對象 類 簡單理解&#xff0c;它指的是類型或者分類或某個模塊 比如&#xff1a;人類、動物類……&#xff1b;入公司的入職單&#xff0c;沒寫上任何人的情況下 對象 簡單理解&#xff0c;它指的具體的個體 備注&#xff1a;對…

遞歸實現指數型枚舉(遞歸)

92. 遞歸實現指數型枚舉 - AcWing題庫 每個數有選和不選兩種情況 我們把每個數看成每層&#xff0c;可以畫出一個遞歸搜索樹 葉子節點就是我們的答案 很容易寫出每dfs函數 dfs傳入一個u表示層數 當層數大于我們n時&#xff0c;去判斷每個數字的選擇情況&#xff0c;輸出被選…

Linux相關概念和易錯知識點(25)(信號原理、操作系統的原理、volatile)

目錄 1.信號的產生 &#xff08;1&#xff09;kill &#xff08;2&#xff09;raise、abort 2.對block、pending、handler表的管理 &#xff08;1&#xff09;信號集&#xff08;sigset_t&#xff09; &#xff08;2&#xff09;block表的管理 ①操作相關的函數 ②sigpr…

opencv中的色彩空間及其轉換

在 OpenCV 中&#xff0c;色彩空間&#xff08;Color Space&#xff09;指的是表示顏色的一種方式&#xff0c;或是用數學模型對顏色的表達。不同的色彩空間采用不同的方式來描述顏色的三要素&#xff08;如亮度、飽和度、色調&#xff09;&#xff0c;因此可以在不同的應用場景…

OPPO 數據分析面試題及參考答案

如何設計共享單車數據庫的各個字段? 對于共享單車的數據庫設計,首先考慮用戶相關的字段。用戶表可以包含用戶 ID,這是一個唯一標識符,用于區分不同用戶;姓名,記錄用戶的真實姓名;聯系方式,比如手機號碼,方便在出現問題時聯系用戶;注冊時間,記錄用戶何時開始使用共享…

在Ubuntu下運行QEMU仿真FreeBSD riscv64系統

在Ubuntu下運行QEMU仿真FreeBSD riscv64系統 突發奇想&#xff0c;嘗試在Ubuntu下運行QEMU仿真FreeBSD riscv64系統&#xff0c; 參考這篇文檔&#xff1a;手把手教你在QEMU上運行RISC-V Linux_qemu 運行 .bin-CSDN博客 并參考FreeBSD的Wiki&#xff1a;riscv - FreeBSD Wik…

大模型微調---Prompt-tuning微調

目錄 一、前言二、Prompt-tuning實戰2.1、下載模型到本地2.2、加載模型與數據集2.3、處理數據2.4、Prompt-tuning微調2.5、訓練參數配置2.6、開始訓練 三、模型評估四、完整訓練代碼 一、前言 Prompt-tuning通過修改輸入文本的提示&#xff08;Prompt&#xff09;來引導模型生…

Visual Studio 、 MSBuild 、 Roslyn 、 .NET Runtime、SDK Tools之間的關系

1. Visual Studio Visual Studio 是一個集成開發環境&#xff08;IDE&#xff09;&#xff0c;為開發者提供代碼編寫、調試、測試和發布等功能。它內置了 MSBuild、Roslyn 和 SDK Tools&#xff0c;并提供圖形化界面來方便開發者進行項目管理和構建。與其他組件的關系&#xf…

Winnows基礎(2)

Target 了解常見端口及服務&#xff0c;熟練cmd命令&#xff0c;編寫簡單的 .bat 病毒程序。 Trail 常見服務及端口 80 web 80-89 可能是web 443 ssl心臟滴血漏洞以及一些web漏洞測試 445 smb 1433 mssql 1521 oracle 2082/2083 cpanel主機管理系統登陸&#xff08;國外用的…

Edge Scdn用起來怎么樣?

Edge Scdn&#xff1a;提升網站安全與性能的最佳選擇 在當今互聯網高速發展的時代&#xff0c;各種網絡攻擊層出不窮&#xff0c;特別是針對網站的DDoS攻擊威脅&#xff0c;幾乎每個行業都可能成為目標。為了確保網站的安全性與穩定性&#xff0c;越來越多的企業開始關注Edge …

通信技術以及5G和AI保障電網安全與網絡安全

摘 要&#xff1a;電網安全是電力的基礎&#xff0c;隨著智能電網的快速發展&#xff0c;越來越多的ICT信息通信技術被應用到電力網絡。本文分析了歷史上一些重大電網安全與網絡安全事故&#xff0c;介紹了電網安全與網絡安全、通信技術與電網安全的關系以及相應的電網安全標準…

梯度(Gradient)和 雅各比矩陣(Jacobian Matrix)的區別和聯系:中英雙語

雅各比矩陣與梯度&#xff1a;區別與聯系 在數學與機器學習中&#xff0c;梯度&#xff08;Gradient&#xff09; 和 雅各比矩陣&#xff08;Jacobian Matrix&#xff09; 是兩個核心概念。雖然它們都描述了函數的變化率&#xff0c;但應用場景和具體形式有所不同。本文將通過…

時間序列預測論文閱讀和相關代碼庫

時間序列預測論文閱讀和相關代碼庫列表 MLP-based的時間序列預測資料DLinearUnetTSFPDMLPLightTS 代碼庫以及論文庫&#xff1a;Time-Series-LibraryUnetTSFLightTS MLP-based的時間序列預測資料 我會定期把我的所有時間序列預測論文有關的資料鏈接全部同步到這個文章中&#…

引言和相關工作的區別

引言和相關工作的區別 引言 目的與重點 引言主要是為了引出研究的主題,向讀者介紹為什么這個研究問題是重要且值得關注的。它通常從更廣泛的背景出發,闡述研究領域的現狀、面臨的問題或挑戰,然后逐漸聚焦到論文要解決的具體問題上。例如,在這篇關于聯邦學習數據交易方案的…

GitLab分支管理策略和最佳實踐

分支管理是 Git 和 GitLab 中非常重要的部分&#xff0c;合理的分支管理可以幫助團隊更高效地協作和開發。以下是一些細化的分支管理策略和最佳實踐&#xff1a; 1. 分支命名規范 ? 主分支&#xff1a;通常命名為 main 或 master&#xff0c;用于存放穩定版本的代碼。 ? …

批量提取zotero的論文構建知識庫做問答的大模型(可選)——含轉存PDF-分割統計PDF等

文章目錄 提取zotero的PDF上傳到AI平臺保留文件名代碼分成20個PDF視頻講解 提取zotero的PDF 右鍵查看目錄 發現目錄為 C:\Users\89735\Zotero\storage 寫代碼: 掃描路徑‘C:\Users\89735\Zotero\storage’下面的所有PDF文件,全部復制一份匯總到"C:\Users\89735\Downl…

LabVIEW實現NB-IoT通信

目錄 1、NB-IoT通信原理 2、硬件環境部署 3、程序架構 4、前面板設計 5、程序框圖設計 6、測試驗證 本專欄以LabVIEW為開發平臺,講解物聯網通信組網原理與開發方法,覆蓋RS232、TCP、MQTT、藍牙、Wi-Fi、NB-IoT等協議。 結合實際案例,展示如何利用LabVIEW和常用模塊實現物聯網…

面試題整理9----談談對k8s的理解2

面試題整理9----談談對k8s的理解2 1. Service 資源1.1 ServiceClusterIPNodePortLoadBalancerIngressExternalName 1.2 Endpoints1.3 Ingress1.4 EndpointSlice1.5 IngressClass 2. 配置和存儲資源2.1 ConfigMap2.2 Secret2.3 PersistentVolume2.4 PersistentVolumeClaim2.5 St…