將文件用作交換存儲器(SWAP)

作者: Maikel Llamaret埃雷迪亞 發表在 古特.

很久以前, GNU / Linux的,只能使用單個交換內存分區,最大數量為 128 MB遭到Linus Torvalds核心的批評者的批評。

幸運的是,如今沒有這種限制,也可以使用所需的交換內存來滿足任何系統的需求。

有時,在安裝我們的系統後,我們發現自己需要增加內存 交換 這是我們在安裝過程中配置的,可以通過增加用於這些目的的所選分區的大小來簡單地完成。 但是...如果您不想觸摸分區表怎麼辦?

什麼是SWAP,它如何工作?

交換內存空間或 交換,即所謂的虛擬內存。 實際內存和虛擬內存之間的區別在於,虛擬內存使用硬盤空間而不是內存模塊。

當實際內存用完時,系統將其某些內容直接複製到此交換內存空間中,以執行其他任務。

使用SWAP的優勢在於,當實際內存用完並需要執行過程時,可以提供所需的額外內存。 缺點是,由於使用了硬盤上的空間,因此硬盤的使用速度較慢。

使用文件作為交換內存。

此方法不需要更改硬盤的分區表。 對於沒有經驗的用戶,對於想要在更改其硬盤分區表時避免冒險的用戶,對於偶爾需要交換內存或以其他方式需要的用戶而言,都是理想的選擇。

考慮到交換文件可以放在硬盤上的任何目錄中,因此執行命令 dd,指定將寫入零 (如果= / dev /零) 創建文件 /交換(= = /交換),以1024字節為單位 (bs = 1024) 直到完成一定數量的字節(count = [數量乘以bs的值])。 下面的示例執行上述操作,直到完成524288000字節(除以1024等於512MB)為止:

要創建將用作SWAP的文件,我們將打開一個控制台並鍵入以下內容(以root身份):

dd if=/dev/zero of=/swap bs=1024 count=512000

以上步驟可能需要幾秒鐘,請耐心等待。 然後,要將格式化的文件格式化為交換內存,我們將執行以下命令 交換,如下所示(始終以root身份):

mkswap /swap

您將在控制台上返回類似於以下內容的輸出:

設置交換空間版本1,大小= 511996 KiB無標籤,UUID = fed2aba5-77c6-4780-9a78-4ae5e19c506b

要激活分區並使其立即被操作系統使用,請執行以下命令 交換。 在我們的例子中,我們將在前面的步驟中創建並格式化SWAP的/ swap文件激活為交換內存分區:

swapon /swap

為了驗證操作系統是否正在使用新的交換文件,我們將再次執行命令 並且我們將看到新文件的容量已添加到初始SWAP內存中。

為了使該文件在下次系統引導時自動用作交換內存,我們將進行編輯  / etc / fstab文件 (使用nano,gedit,kate,kwrite,vim或您選擇的純文本編輯器),添加相應的行,如下所示,在其中放置了創建的交換文件的路徑而不是設備:

我們打開文件

nano /etc/fstab

我們添加:

/swap         swap      swap     defaults               0 0

準備!!!!

我們可以重新啟動系統,並測試使用新文件增加了交換內存 交換。 我們要做的只是在系統根目錄中創建一個文件,對其進行格式化 交換 告訴我們 GNU / Linux的 將它與我們已經預定用於此目的的分區一起用作交換內存。

簡單的東西,但對我們許多人來說可能有用。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   hour 他說:

    筆記很棒。 只是現在,它讓我想到了一件事,我可以同樣使用USB作為存儲介質嗎? 如果您有一台稍舊的計算機,並且獲取的內存過於復雜或過於昂貴(計算機中的部件越老越舊),那麼僅通過USB擴展內存就可以了。

    1.    奧羅斯 他說:

      是的,這非常好,或多或少就是我安裝的zramswap的工作方式(我不喜歡分區沙拉,我什麼也不分開)。
      如果要使用usb進行交換,則只需為此格式化分區,然後將其添加到fstab,將/ swap更改為/ dev / sdb1(假設usb的路徑為sdb1)。

      1.    圍攻84 他說:

        您將對btrfs及其子卷感到滿意

      2.    hour 他說:

        好吧,如果我正確地理解瞭如何進行USB交換,但是我想了更多的事情,例如額外的RAM,因為USB將是物理內存,並且我不想等待它超過60%的內存即可。開始使用USB。

        好吧,看到@nonamed的評論,在已經有更好的團隊表現的時候,這樣的解決方案的原因(只是作為貢獻而不是團隊戰爭的開始,並得到所有應有的尊重)不必要; 我可以想到3點:

        1號最明顯的是在舊設備中使用它
        2號我還考慮的不是那麼新的1gb或2gb容量的筆記本電腦,而是“減去”了視頻卡的內存。
        第三名好吧,很明顯吧? 因為它很有趣,而且因為它可以做到...呵呵呵! XD

        問候

        1.    k1000 他說:

          或者,如果您忘記創建SWAP並且不想弄亂分區表,

        2.    嘉京 他說:

          您決定使用USB驅動器作為RAM嗎?因為RAM的讀寫速度比USB所能支持的快得多,而且USB會在短時間使用後被破壞,這是無法做到的。最好將USB驅動器用作附加的SWAP

    2.    牽牛星 他說:

      是的,您可以在USB上創建一個交換分區,並使用sudo swapon / dev / sdX掛載它,然後可以在其中添加-s 60,使其具有比其他交換分區更高的優先級。 您也可以將其添加到fstab中,以使其自動掛載,或按照usb great上的本指南中的說明創建交換文件。

  2.   屠殺者 他說:

    出色的指導,並同時進行練習,以防止一次交換用盡,儘管很困難。 現在,我在USB內存中復制相同的內容,以便將數據從物理內存傳輸到交換內存要快一些。

  3.   Elendilnarsil 他說:

    謝謝(你的)信息。 但是它產生一個問題,也許有些愚蠢:一旦創建了此交換文件,就無法刪除交換分區???

  4.   九分 他說:

    有時我想知道是否真的值得進行交換,我總是將其設置為0%,也許與內存有關,我有4Gb的ram,我猜越多的內存使用交換就沒有多大意義了

    1.    丹尼爾·羅哈斯(Daniel Rojas) 他說:

      是的,這取決於機器中的內存。 我也總是將其設置為0%,並且具有4Gb的內存,我只給交換分區提供512mb

      1.    佩瑟羅 他說:

        在上一次安裝中,我刪除了交換。 不過,有了24GB的RAM,即使沒有使用很多RAM,我也偶爾會看到小的交換使用(幾KB)。 為什麼? 我不知道

  5.   圍攻84 他說:

    我必須在sabayon中執行此操作,我找不到導致它耗盡所有RAM和交換空間的原因。

  6.   Linux先生 他說:

    我總是會這樣說,由於這些有趣的文章,FromLinix是排名第一的博客。 順便說一句,我找到了Yoyo從他們擁有Elav的監獄扔出的鑰匙,我想我會保留的。

    問候埃拉夫。

  7.   褐鐵礦梅林 他說:

    非常有用的感謝。

  8.   正確 他說:

    更容易
    lvm lvresize /dev/vg_laptpop/vl_swap -L +4G
    如果您使用的是LVM clear(假設您想交換4gigas)

    1.    正確 他說:

      但是,這是對母親的p%$,我以前不知道,我會為xDDDD保存多少格式

  9.   不可見15 他說:

    我有兩個交換分區(每個硬盤一個),並且具有1GB的內存,我至少使用200mb和500mb的交換...

  10.   卡爾 他說:

    如果您有幾個舊的Pen-usb,則可以在突襲的0個N usb設備上進行交換,從而與交換的usb設備成比例地加速交換性能,並儘可能在不同的根集線器中每個交換-我認為!-。 您只需要告知自己有關linux soft對raid的本機支持。
    有關更多信息的鏈接:
    http://www.kriptopolis.com/raid-1
    或更一般的搜索
    https://www.google.es/search?q=raid+por+soft+en+linux&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a&channel=fflb

    1.    卡爾 他說:

      我忘了說可以在分區級別進行突襲。 因此,如果USB峰值的大小不同,則可以使分區的大小最小,而較大USB的剩餘孔可以用於其他用途,也可以在文件或分區級別用於更多交換...不是可以用您描述的方法對多個交換文件進行突襲嗎?

  11.   卡洛斯 他說:

    優秀的教程,我被要求增加現有的交換空間。 (和)

  12.   豪爾赫 他說:

    看起來不錯我將嘗試使用USB存儲器。

  13.   吉約克斯 他說:

    太好了...它可以在Android手機上工作嗎? 我已經有一個自定義內核,但是我不想對sd進行分區。 我想這必須工作

  14.   德魯加斯 他說:

    很好的文章。

    關於Linux交換的另一個有趣的概念是swappiness:

    http://www.sysadmit.com/2016/10/linux-swap-y-swappiness.html

  15.   大衛·科爾曼 他說:

    你好,我的名字是大衛科爾曼,我 32 歲,來自俄亥俄州,我正在學習計算機編程和計算機科學,以便在 4 年內獲得我的副學士學位!,
    在我為 2Gb 999Mb × 2 創建的交換 / swp 文件之後,我對應用程序(SWAP / 無根)APK 的問題很簡單,本質上是如何將它存儲在我的 Android 中的確切位置? 我正在使用 3Gb ram 32gb memeroy +32 gb SanDisk SD 也通過 boost mobile Unrooted 設備啟動 Stylo 5,引導加載程序已解鎖,SIM 卡已解鎖!。 任何建議都非常感謝,歡迎 thx
    Urs SENCERLY, David Coleman 32 來自美國俄亥俄州.. ?