作者: 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的 將它與我們已經預定用於此目的的分區一起用作交換內存。
簡單的東西,但對我們許多人來說可能有用。
筆記很棒。 只是現在,它讓我想到了一件事,我可以同樣使用USB作為存儲介質嗎? 如果您有一台稍舊的計算機,並且獲取的內存過於復雜或過於昂貴(計算機中的部件越老越舊),那麼僅通過USB擴展內存就可以了。
是的,這非常好,或多或少就是我安裝的zramswap的工作方式(我不喜歡分區沙拉,我什麼也不分開)。
如果要使用usb進行交換,則只需為此格式化分區,然後將其添加到fstab,將/ swap更改為/ dev / sdb1(假設usb的路徑為sdb1)。
您將對btrfs及其子卷感到滿意
好吧,如果我正確地理解瞭如何進行USB交換,但是我想了更多的事情,例如額外的RAM,因為USB將是物理內存,並且我不想等待它超過60%的內存即可。開始使用USB。
好吧,看到@nonamed的評論,在已經有更好的團隊表現的時候,這樣的解決方案的原因(只是作為貢獻而不是團隊戰爭的開始,並得到所有應有的尊重)不必要; 我可以想到3點:
1號最明顯的是在舊設備中使用它
2號我還考慮的不是那麼新的1gb或2gb容量的筆記本電腦,而是“減去”了視頻卡的內存。
第三名好吧,很明顯吧? 因為它很有趣,而且因為它可以做到...呵呵呵! XD
問候
或者,如果您忘記創建SWAP並且不想弄亂分區表,
您決定使用USB驅動器作為RAM嗎?因為RAM的讀寫速度比USB所能支持的快得多,而且USB會在短時間使用後被破壞,這是無法做到的。最好將USB驅動器用作附加的SWAP
是的,您可以在USB上創建一個交換分區,並使用sudo swapon / dev / sdX掛載它,然後可以在其中添加-s 60,使其具有比其他交換分區更高的優先級。 您也可以將其添加到fstab中,以使其自動掛載,或按照usb great上的本指南中的說明創建交換文件。
出色的指導,並同時進行練習,以防止一次交換用盡,儘管很困難。 現在,我在USB內存中復制相同的內容,以便將數據從物理內存傳輸到交換內存要快一些。
謝謝(你的)信息。 但是它產生一個問題,也許有些愚蠢:一旦創建了此交換文件,就無法刪除交換分區???
有時我想知道是否真的值得進行交換,我總是將其設置為0%,也許與內存有關,我有4Gb的ram,我猜越多的內存使用交換就沒有多大意義了
是的,這取決於機器中的內存。 我也總是將其設置為0%,並且具有4Gb的內存,我只給交換分區提供512mb
在上一次安裝中,我刪除了交換。 不過,有了24GB的RAM,即使沒有使用很多RAM,我也偶爾會看到小的交換使用(幾KB)。 為什麼? 我不知道
我必須在sabayon中執行此操作,我找不到導致它耗盡所有RAM和交換空間的原因。
我總是會這樣說,由於這些有趣的文章,FromLinix是排名第一的博客。 順便說一句,我找到了Yoyo從他們擁有Elav的監獄扔出的鑰匙,我想我會保留的。
問候埃拉夫。
非常有用的感謝。
更容易
lvm lvresize /dev/vg_laptpop/vl_swap -L +4G
如果您使用的是LVM clear(假設您想交換4gigas)
但是,這是對母親的p%$,我以前不知道,我會為xDDDD保存多少格式
我有兩個交換分區(每個硬盤一個),並且具有1GB的內存,我至少使用200mb和500mb的交換...
如果您有幾個舊的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
我忘了說可以在分區級別進行突襲。 因此,如果USB峰值的大小不同,則可以使分區的大小最小,而較大USB的剩餘孔可以用於其他用途,也可以在文件或分區級別用於更多交換...不是可以用您描述的方法對多個交換文件進行突襲嗎?
優秀的教程,我被要求增加現有的交換空間。 (和)
看起來不錯我將嘗試使用USB存儲器。
太好了...它可以在Android手機上工作嗎? 我已經有一個自定義內核,但是我不想對sd進行分區。 我想這必須工作
很好的文章。
關於Linux交換的另一個有趣的概念是swappiness:
http://www.sysadmit.com/2016/10/linux-swap-y-swappiness.html
你好,我的名字是大衛科爾曼,我 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 來自美國俄亥俄州.. ?