【運維】將Linux的硬盤當內存用,Linux內存不夠用的時候如何用硬盤提升內存

文章目錄

  • 內存不夠用,可以用硬盤當內存嗎
  • 如何取消這種交換空間
  • 交換空間是優先使用的還是說原始內存是會被優先使用的

內存不夠用,可以用硬盤當內存嗎

是的,可以使用硬盤作為虛擬內存來擴展容器中的內存。這個過程被稱為“交換”或“交換空間”。

在Linux系統中,你可以通過以下步驟將硬盤用作交換空間:

  1. 創建交換文件:

    sudo fallocate -l [大小]G /path/to/swapfile
    

    或者,如果fallocate不可用,可以使用dd命令:

    sudo dd if=/dev/zero of=/path/to/swapfile bs=1G count=[大小]
    

    這將創建一個指定大小的交換文件。

  2. 設置文件權限:

    sudo chmod 600 /path/to/swapfile
    
  3. 將文件設置為交換空間:

    sudo mkswap /path/to/swapfile
    
  4. 啟用交換空間:

    sudo swapon /path/to/swapfile
    

    如果希望在系統啟動時自動啟用交換空間,可以將交換文件的信息添加到 /etc/fstab 文件中。

請注意,雖然使用交換空間可以擴展可用內存,但硬盤的讀寫速度相對較慢,因此與物理內存相比,交換空間的性能較差。過度依賴交換空間可能會導致系統性能下降。最好的解決方案是確保容器分配足夠的物理內存以滿足應用程序的需求。

在這里插入圖片描述

如何取消這種交換空間

取消交換空間的擴展也是可能的。以下是一些步驟,你可以按照這些步驟來禁用或刪除交換空間:

  1. 禁用交換空間:

    sudo swapoff /path/to/swapfile
    

    這將禁用交換空間,但并不會從系統中刪除交換文件。

  2. 永久性刪除交換文件:

    sudo rm /path/to/swapfile
    

    如果你確定不再需要交換文件,可以刪除它。請確保在刪除之前已禁用交換空間。

  3. 從 /etc/fstab 中刪除相關行(可選):
    如果你已將交換文件信息添加到 /etc/fstab 文件中,并希望在系統啟動時不再自動啟用交換空間,可以手動編輯該文件并刪除相關行。請小心編輯 /etc/fstab,以避免引起系統啟動問題。

請注意,在運行某些任務時,可能會有瞬時的內存需求。因此,在禁用交換空間之前,請確保你了解應用程序和系統的內存使用情況,以免影響系統的穩定性。

交換空間是優先使用的還是說原始內存是會被優先使用的

在Linux系統中,內核會根據系統的內存管理策略來決定何時使用交換空間和何時使用物理內存。通常情況下,物理內存(RAM)是首選,而交換空間則被用作備用。系統傾向于將經常使用的數據和進程存儲在物理內存中,因為物理內存的訪問速度遠遠快于交換空間(硬盤或 SSD)。

當系統的物理內存不足以滿足當前運行的任務時,Linux內核會將部分不常用的數據移動到交換空間中,以釋放物理內存供更緊急的用途。這個過程被稱為頁面交換(paging)。

要注意的是,使用交換空間是一種權衡,因為硬盤的訪問速度相對較慢,交換操作可能導致性能下降。因此,最好的做法是確保系統分配足夠的物理內存,以盡量減少對交換空間的依賴。

總體而言,內核會盡量保持數據在物理內存中,但在需要時會使用交換空間來緩解內存不足的情況。

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

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

相關文章

Django 模型操作-分頁(七)

一、連接MySql數據庫 1、先安裝MySQL 2、再安裝MySQL驅動 使用mysqlclient pip install mysqlclient 如果上面的命令安裝失敗, 則嘗試使用國內豆瓣源安裝: pip install -i https://pypi.douban.com/simple mysqlclient 二、在settings.py中配置 三、 book表的數據…

Android系統啟動過程-uBoot+Kernel+Android

摘要:本文是參考大量網上資源在結合自己查看源代碼總結出來的,讓自己同時也讓大家加深對Android系統啟動過程有一個更加深入的了解!再次強調,本文的大多數功勞應歸功于那些原創者們,同時一些必要的參考鏈接我會一一附上…

1009 說反話

給定一句英語,要求你編寫程序,將句中所有單詞的順序顛倒輸出。 輸入格式: 測試輸入包含一個測試用例,在一行內給出總長度不超過 80 的字符串。字符串由若干單詞和若干空格組成,其中單詞是由英文字母(大小…

【機器學習實訓項目】黑色星期五畫像分析

目錄 前言 一、項目概述 1.1 項目簡介 1.2 項目背景 1.3 項目目標 二、數據分析 2.1 導入庫 2.2 數據基本信息 三、畫像分析 3.1 畫像1:消費金額Top10 3.2 畫像2:高頻消費Top10 3.3 畫像3:人均消費金額Top10 3.4 畫像4:男女消費對…

創投課程第四期 | Web3一級市場投資框架的演變及投資人能力框架的構成

協會邀請了來自Zonff Partners的合伙人——Colin,作為VC創投課程第4期的嘉賓,在北京時間12月9日(周六)下午14:00 PM-15:00 PM于螞蟻鏈科技產業創新中心進行線下分享,屆時將與所有對Web3投資、創業心懷熱忱的朋友們共同探討《WEB3一級市場投資…

雙向鏈表(數據結構與算法)

???????????????? ???????????????? 🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿&#x1…

程序啟動時訪問了未初始化的類指針引發內存訪問違例導致程序崩潰的問題排查

目錄 1、問題說明 2、使用Windbg動態調試去初步分析 3、使用Windbg詳細分析 4、最后 VC常用功能開發匯總(專欄文章列表,歡迎訂閱,持續更新...)https://blog.csdn.net/chenlycly/article/details/124272585C軟件異常排查從入門…

20、XSS——XSS跨站腳本

文章目錄 一、XSS漏洞概述1.1 XSS簡介 二、XSS漏洞分類2.1 反射型XSS2.2 存儲型XSS2.3 DOM型XSS 三、XSS payload構造以及變形3.1 XSS payload構造3.2 XSS payload 變形 一、XSS漏洞概述 1.1 XSS簡介 XSS被稱為跨站腳本攻擊(Cross-site scripting)&…

linux dpdk 介紹

DPDK(Data Plane Development Kit)是一個由英特爾發起的開源項目,旨在提供一個快速、高性能的數據平面開發工具包,使網絡應用能夠在通用處理器上實現網絡功能虛擬化(NFV)和軟件定義網絡(SDN&…

k8s volumes and data

Overview 傳統上,容器引擎(Container Engine)不提供比容器壽命更長的存儲。由于容器被認為是瞬態(transient)的,這可能會導致數據丟失或復雜的外部存儲選項。Kubernetes卷共享 Pod 生命周期,而不是其中的容器。如果容器終止,數據…

排序的簡單理解(上)

1. 排序的概念及引用 1.1 排序的概念 排序:所謂排序,就是使一串記錄,按照其中的某個或某些關鍵字的大小,遞增或遞減的排列起來的操作(按照我們的需求能夠有序的將數據信息排列起來)。 穩定性:假…

TeeChart.NET 2023.11.17 Crack

.NET 的 TeeChart 圖表控件提供了一個出色的通用組件套件,可滿足無數的圖表需求,也針對重要的垂直領域,例如金融、科學和統計領域。 數據可視化 數十種完全可定制的交互式圖表類型、地圖和儀表指示器,以及完整的功能集&#xff0c…

醫療設備智慧管理助力醫院提質增效,阿基米德amp;健康界實踐分享

近日,蘇州阿基米德網絡科技有限公司與醫療領域頭部級媒體健康界,聯合舉辦“數智為擎 提質增效——醫學裝備智慧管理創新發展論壇”的直播活動。 直播現場,來自上海交通大學醫學院附屬同仁醫院、中華醫學會航海醫學分會、蘇州阿基米德的專家們…

統信UOS_麒麟KYLINOS上使用命令行配置NTP服務器

原文鏈接:統信UOS/麒麟KYLINOS上使用命令行配置NTP hello,大家好啊,今天我要給大家介紹的是在統信UOS/麒麟KYLINOS操作系統上使用命令行配置NTP(Network Time Protocol)服務器的方法。在內網環境下,許多企業…

13、C++異常處理

13、c異常處理 拋出異常捕獲異常未拋出異常時的流程拋出異常時的流程捕獲異常匹配順序異常說明異常處理構造函數中的異常析構函數中的異常標準庫異常類 拋出異常 throw 異常對象可以拋出基本類型的對象,如:throw -1;throw "內存分配失敗!";也可以拋出類類…

AVP對縱向控制ESP(Ibooster)的需求規范

目錄 1. 版本記錄... 3 2. 文檔范圍和控制... 4 2.1 目的/范圍... 4 2.2 文檔沖突... 4 2.3 文檔授權... 4 2.4 文檔更改控制... 4 3. 功能概述... 5 4. 系統架構... 6 5. 主要安全目標... 7 5.1 …

FreeSSL申請免費域名證書

本文詳細講解如何申請免費證書,需要先準備好域名,將服務器IP和域名綁定。 1、注冊FreeSSL賬號 網址: https://freessl.org/ 2、申請流程 登錄后首頁輸入域名,然后點擊Create certificate,跳轉到證書申請頁面。 或者…

Pytorch深度強化學習1-6:詳解時序差分強化學習(SARSA、Q-Learning算法)

目錄 0 專欄介紹1 時序差分強化學習2 策略評估原理3 策略改進原理3.1 SARSA算法3.2 Q-Learning算法 0 專欄介紹 本專欄重點介紹強化學習技術的數學原理,并且采用Pytorch框架對常見的強化學習算法、案例進行實現,幫助讀者理解并快速上手開發。同時&#…

老人的數目

給你一個下標從 0 開始的字符串 details 。details 中每個元素都是一位乘客的信息,信息用長度為 15 的字符串表示,表示方式如下: 前十個字符是乘客的手機號碼。接下來的一個字符是乘客的性別。接下來兩個字符是乘客的年齡。最后兩個字符是乘…

QGIS 加載在線XYZ地圖圖層

QGIS 加載在線XYZ地圖圖層 定義并添加必應XYZ圖層 Go to Layer > Add Layer > Add XYZ Layer…Click NewName as BingMaps(as you wish)URL as http://ecn.t3.tiles.virtualearth.net/tiles/a{q}.jpeg?g1click OkSelect XYZ Connections as Bing Maps(Which you creat…