Linux 磁碟掛載和swap空間管理

来源:https://www.cnblogs.com/heyongshen/archive/2022/07/02/16437676.html
-Advertisement-
Play Games

掛載:把指定的設備和根下麵的某個文件夾建立關聯 卸載:解除兩者關係的過程 掛載文件系統:mount 格式:mount device mountpoint mount 設備名 掛載點 mountpoint:掛載點目錄必須事先存在,建議使用空目錄 選項: -t fstype:指定文件系統類型,比如ext ...


掛載:把指定的設備和根下麵的某個文件夾建立關聯

卸載:解除兩者關係的過程

掛載文件系統:mount

格式:mount device mountpoint --- mount 設備名 掛載點

mountpoint:掛載點目錄必須事先存在,建議使用空目錄

選項:

  • -t fstype:指定文件系統類型,比如ext4

  • -r readonly,只讀掛載

  • -w read and write, 讀寫掛載,此為預設設置,可省略

  • -n 不更新/etc/mtab,mount不可見

  • -a 自動掛載所有支持自動掛載的設備(定義在了/etc/fstab文件中,且掛載選項中有auto功能)

  • -o options:(掛載文件系統的選項),多個選項使用逗號分隔

# async   非同步模式,記憶體更改時,寫入緩存區buffer,過一段時間再寫到磁碟中,效率高,但不安全
# sync    同步模式,記憶體更改時,同時寫磁碟,安全,但效率低下
# remount 重新掛載(相當於umount後再mount)
# ro/rw   只讀、讀寫
# defaults(預設掛載) 相當於rw, suid, dev, exec, auto, nouser, async

掛載規則:

  • 一個掛載點同一時間只能掛載一個設備,如果掛載了多個設備就只顯示最後一個設備

  • 一個設備可以掛載到多個掛載點

  • 掛載點通常是空的目錄文件

查看掛載的設備:

#通過查看/etc/mtab文件顯示當前已掛載的所有設備
mount
#查看內核追蹤到的已掛載的所有設備
cat /proc/mounts

查看掛載點情況

findmnt   MOUNT_POINT|device
#可以用來判斷某個文件夾是不是掛載點,如果是會顯示對應的數據信息

查看正在訪問指定文件系統的進程

lsof MOUNT_POINT ---也可以用來查看某個掛載點是否被別人使用
fuser -v MOUNT_POINT -- 查看是誰在使用

終止所有在正訪問指定的文件系統的進程

fuser -km MOUNT_POINT

持久掛載(重啟電腦還存在)

將掛載保存到 /etc/fstab 中可以下次開機時,自動啟用掛載
使用man 5 fstab 查看/etc/fstab配置文件格式

配置文件格式:

要掛載的文件系統 掛載點 文件系統類型 掛載屬性 備份頻率 sck檢查的文件系統的順序

  • 要掛載的文件系統:可以用設備名、uuid、捲標
    查看uuid: blkid

  • 掛載點:必須是事先存在的目錄

  • 掛載屬性:defaults ,acl,bind

  • 備份頻率(一般用不上):0:不做備份 1:每天轉儲 2:每隔一天轉儲

  • 文件系統檢查的次序:開機檢測文件系統的過程。其中允許的數字是0 1 2
    0:不自檢 ,1:首先自檢;一般只有rootfs才用 2:非rootfs使用

卸載文件系統:umount

umount 設備名或掛載點

處理交換文件和分區

swap:是一種特殊的文件系統,叫交換文件系統。作用是緩解記憶體不足的情況。拿硬碟的分區來模擬記憶體,把記憶體中暫時不用的數據導入swap硬碟分區中,給記憶體騰出空間。利用硬碟來模擬記憶體.
副作用:硬碟速度沒有記憶體的速度快,所以會降低速度。

swap空間分配原則:

記憶體 swap
<=2G swap就是記憶體的兩倍(4G)
2-8G swap等於記憶體大小(2-8G)
8-64G swap是記憶體的0.5倍(4-32G)
>64G swap選擇4G左右

交換空間swap實現過程:

1. 創建交換分區或者文件 -- fdisk

2. 使用mkswap寫入特殊簽名 -- maswap 分區

3. 在/etc/fstab文件中添加適當的條目 --- xxx
# 文件系統沒有掛掛載點就寫none 因為swap是用來模擬記憶體的
4. 使用swapon -a 激活交換空間

啟用swap分區:

swapon  [OPTION]... [DEVICE]

選項:

-a: 啟用所有的交換分區
-s: 顯示交換區的使用狀況

禁用swap分區:

swapoff  [OPTION]... [DEVICE]

SWAP的優先順序

有多個二swap分區的時候,指定優先使用誰。

swapon -s 可以查看swap的優先順序

可以指定swap分區0到32767的優先順序,值越大優先順序越高

#修改swap的優先順序:
例如:UUID=xxxxswap   swap    pri=100      0 0
#更改完成以後禁用再重新啟用就生效了

用一個文件來作為swap

#創建一個指定大小的文件
dd if=/dev/null of=filename bs=大小 count=1 

#因為這個文件後面要用來放記憶體中的信息,所以為了安全要更改許可權
chmod a= filename #除了root誰也看不到

#創建文件系統
mkswap filename

#掛載  /etc/fstab
file_name(不能寫uuid,uuid是針對設備來說的)  none swap defaults 0  0

#啟用swap
swapon file_name

swap的使用策略

/proc/sys/vm/swappiness 的值決定了當記憶體占用達到一定的百分比時,會啟用swap分區的空間

例如/proc/sys/vm/swappiness這個值是30,則記憶體在使用到100-30=70%的時候,就開始出現有交換分區的使用

/proc/sys/vm/swappiness值為0不會禁止交換分區的使用,是最大限度地降低了使用swap的可能性


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 進入移動互聯網時代以來,Windows桌面開發已經很久不碰了。之前就是從做Windows開發入行的。 當年,還是C++ VC6, MFC的時代。那時候開發要查的是MSDN :-)。記憶體要自己管理, 排查記憶體泄漏(忘了釋放分配的記憶體)也是基本日常。光陰似箭,歲月如梭~! 幾年之前,北漂時需要寫一個wi ...
  • 1、下載地址:http://download.redis.io/releases/ 下載版本:redis-6.2.7.tar.gz 2、使用命令下載: wget http://download.redis.io/releases/redis-6.2.7.tar.gz 3、將文件拷貝到安裝目錄 /us ...
  • 問題:centos7出現無法聯網問題 如下圖所示,執行該命令: ping qq.com 出現如下情況: 解決方法: 首先cd到需要修改文件的所在目錄下: [root@localhost ~]# cd /etc/sysconfig/network-scripts/ 然後ls查看該目錄下的需要修改的網路 ...
  • RAID:獨立硬碟冗餘陣列,簡稱磁碟陣列 作用:用來來提升性能和冗餘(容錯性)。 RAID把多個硬碟組合成為一個邏輯硬碟,因此,操作系統只會把它當作一個實體硬碟 RAID實現的功能: 性能提升 磁碟冗餘(容錯性) RAID實現方式: 硬體實現:RAID卡(外接和主板內置) 生產環境一般永這種 軟體實 ...
  • 1、創建工作目錄 創建jar部署的目錄,並且將jar上傳到該目錄下 mkdir -p /home/java-server/test-demo 2、創建啟動腳本 進入jar目錄: cd /home/java-server/test-demo 創建腳本文件: vim start.sh 啟動腳本內容: # ...
  • Linux基礎命令(二) 1. 壓縮,解壓縮命令 壓縮格式:gz、bz2、xz、zip、Z 1.1 gzip 壓縮,壓縮後文件以.gz結尾,壓縮後會刪除原文件 [root@zzd ~]# gzip 1.txt //將1.txt壓縮,以.gz結尾 -d 解壓縮,解壓完成後刪除原文件 [root@zzd ...
  • U盤的使用和硬碟的使用很相似 移動介質: 掛載意味著外來的文件系統看起來就是主目錄樹的一部分。所以移動介質也需要掛載,通常掛載到/media或/mnt下麵。 訪問前,介質必須被掛載 摘除時,介質必須被卸載 創建ISO文件: 方法一:cp /dev/cdrom /root/centos.iso 方法二 ...
  • 目錄 一、前景回顧 二、初識中斷 三、中斷分類 四、中斷號 五、可編程中斷控制器8259A 六、中斷描述符表IDT 一、前景回顧 上一回我們簡單地講解了特權級的原理,這一塊其實我當時也是啃的雲里霧裡,看了好大一會兒才明白。如果實在不怎麼理解特權級檢查也沒關係,因為後面的代碼中也不會涉及到手寫特權級檢 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...