在Linux發行版上創建“ RAMDisk”

RAMDisk圖標

如您所知,內存的訪問速度非常重要。 磁存儲器和處理器之間過去產生的瓶頸意味著必須包括更快的緩衝存儲器, 內存。 後來,隨著微處理器的發展,出現了高速緩存,甚至更快地在RAM和CPU寄存器之間提供了緩衝區。 最近出現了SSD硬盤,因為它們基於閃存,所以它們比磁機械HDD更快。

技嘉幾年前考慮用RAM創建硬盤 (稱為i-RAM的RAMDisk),與硬盤驅動器相比,內存非常快,但是與Ageia的PhysX卡發生了類似的情況。 它們並沒有真正凝結,最終從市場上消失了,現在有了SSD(以及基於RAM的SSD),意義就更小了。 什麼事啊好吧,基本上,它使用RAM內存來存儲數據,就好像它是硬盤一樣,因此訪問速度要快得多。

好吧,您不需要i-RAM或SSD,也不需要類似的東西來加快傳輸和訪問所需目錄,文件或程序的速度。 為此,你可以 在Linux發行版上創建RAMDisk。 唯一的要求是要有足夠的RAM,建議大於4GB,以保留其中一部分以用作超高速“硬盤”。 就像某些筆記本電腦的GPU使用共享內存所做的事情一樣,但在這種情況下是用於數據的。

要創建此內存,您必須計算出您擁有的內存,因為如果您耗盡全部或大部分內存,則出於創建內存的目的,RAM會用光,並且這將是愚蠢的。 例如,如果您有8GB的RAM,則您可能需要2GB的RAMDisk。 我再說一遍,他的意思是,您有更多的RAM,如果您有2GB或4GB,則可能不值得……(記住,在“ size =“中指定大小,在我的示例中,我選擇了1024MB,即, 1GB,或者您也可以使用“ G”代替“ M”以GB表示)。一旦您知道這一點,我們就可以開始使用 以下步驟 從您的終端:

mkdir /tmp/ramdisk

mount -t tmpfs none /tmp/randisk -o size=1024M

現在,您的RAM中已保留1GB,因此您可以將所需的任何內容添加到我們創建的ramdisk目錄中。 做性能測試,您將看到如何 它更快 您擁有的所有內容...如果需要,您可以在RAM中使用tmpfs以外的其他文件系統(例如ext4或ramfs)創建分區。

如果您希望蒙太奇輸入保持不變,請當心! 如果關閉計算機或重新啟動,您在此處保存的數據將丟失,但是輸入將保留p這樣您就不必在每次啟動時都創建分區 使用以下技巧將其添加到分區表(fstab)中,以便自動創建(使用您喜歡的文本編輯器來編輯輸入:vi,nano,gedit ...):

gedit /etc/fstab

Y en el fichero de texto que se abre crea la siguiente entrada sin comillas "tmpfs /mnt/ramdisk tmpfs nodev, nosuid, noexec, nodiratime, size=1024M 0 0"

重要事項: 請記住,重新啟動或關閉時您的數據將消失 計算機,因為RAM是易失性內存。 因此,無論您想保留什麼,都可以在硬盤分區上進行複制。


發表您的評論

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

*

*

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

  1.   毛里西奧 他說:

    我有一個問題,一旦關閉設備,數據將繼續保存在內存中嗎? 我之所以這樣說是因為RAM易失。 如果您能向我解釋一下,我將不勝感激。

    1.    艾薩克·PE 他說:

      HOLA,

      沒錯,我忘了在文章中發表評論,因為易失性每次啟動計算機時都會被刪除。 感謝您提醒我,我已經添加了它。 這是非常重要的事情,不應忽略,以確保沒有人會丟失其數據。

      歡呼,希望我有所幫助。 謝謝!!!

      1.    毛里西奧 他說:

        我所看到的是,有一些程序可以執行此分區。 這些程序所做的就是在RAM上的數據的硬盤上創建映像,以便在我們重新啟動時不會丟失它們。 然後,按照我的理解,當系統啟動時,保存在硬盤上的數據將轉儲到RAM中,以便我們可以再次使用它。 感謝您的來信,並迅速做出回應! 問候!

  2.   利奧波多·坎蒂略 他說:

    有趣的是,要考慮一些實際的應用程序,一個腳本會在開始時創建此RAM分區並加載感興趣的文件,這對...放置數據庫...沒有用。 您必須調查這個問題...謝謝您的來信。

  3.   蘇爾坦諾維奇 他說:

    它可能只能詳細說明fs。 在我的測試中,它僅按如下方式工作:

    掛載-t tmpfs tmpfs / tmp / ramdisk -o size = 300m

  4.   伊斯梅爾 他說:

    令人難以置信的是,GNU / LINUX可以完成的宏偉任務。 :)

  5.   吉米·奧拉諾(Jimmy Olano) 他說:

    我們如何將該RAMDisk用於“ tmp”分區?

    在可能的情況下,我有可能需要編寫代碼,我不要求我就主體的實用性詢問代碼,以便使用它。 我注意到,對於數據庫,儘管我沒記錯,但已經有一個選項可以支持RAM中的數據庫表,例如:https:// dev.mysql.com/doc /refman/5.5/en/ storage-engine -setting.html

  6.   匿名 他說:

    如果您在最近的20年中很幸運並感到困惑,那麼您將能夠擁有64GiB的RAM,從而能夠將VirtualBOX(或任何其他虛擬機)的虛擬硬盤文件複製到RAM中; 我假設該文件佔用的空間不超過48GiB(為Linux和虛擬機留出足夠的可用RAM)。 通過這種方式,虛擬機可以飛行,並且如果您還希望丟失虛擬機中的更改(不變性),則不再需要失去使機器的虛擬硬盤不可變的性能,因為在啟動虛擬機之前,您必須進行複制它從NVMe / SSD / HDD到RAM,然後關閉RAM中的所有內容(在這種情況下正是所需要的,這就是不變性)會丟失。

    因此,有了這麼多的RAM,您可以使硬盤的映像不可變且具有固定的大小,從而在訪問中獲得最大可能的性能,從而使所述硬盤位於RAM中,處理虛擬機時,真正的樂趣(一次只能搶奪一次)。

    當您使用完虛擬機後,由於虛擬磁盤已從RAM複製到NVMe / SSD / HDD,因此您希望保留虛擬硬盤的狀態。

    我已經看到已經有一些NVMe能夠以超過5GiB / s的速度讀取(是的,每秒讀取0 GB),並且僅使用一個(在RAID48或類似版本中甚至更快)進行複制從它到RAM的XNUMXGiB虛擬硬盤映像僅需大約十秒鐘,好吧!
    不利的是,在執行相反的過程(從RAM到NVMe)時,我目前看到的最快寫入速度超過3GiB / s(是的,每秒寫入48 GB),因此很難保存XNUMXGiB的圖像從RAM到NVMe的驅動僅需約XNUMX秒,這又是一個巨大的機會!

    我們將擁有Linux上最快的NVMe和64GiB RAM之一,以及帶有Windows 10的虛擬機,如果RAM用於託管虛擬機的硬盤,那是相當困難的。

    現在給Linux的禮物……已經有一個名為“ ramroot”的軟件包(至少對於基於Arch的發行版來說),它在引導過程中負責將Linux系統的整個根複製到RAM並繼續引導從RAM,我們還可以通過它在正在使用的Linux上獲得不變性,更不用說它將在RAM上運行,其代價是增加了啟動時間。

    如果讀過此書的人知道可在啟動過程中從CD / USB啟動的Linux發行版(例如SystemRescueCD等)將其複製到RAM中,那麼他們將知道它提供的好處:它始終啟動相同,總是運行得盡可能快。由於所有內容都在RAM中,因此在啟動或使用Linux時,不會將任何內容寫入物理磁盤(這對於延長SSD的使用壽命非常有用,個人不到一個月且寫入的數據量不到TB時,已經有一些SSD剩餘了。我可以工作,特別是120GB的KingDian品牌),除非顯然是如果我們在讀寫中安裝某些東西並在其中保存一些東西,再將其與虛擬機結合起來,系統就會“飛速”訪問磁盤,因為每個人都去了RAM。

    將所有Linux都包含在RAM中可以極大地延長SSD和NVMe的使用壽命,因為在引導過程中不會向它們寫入任何內容或幾乎沒有任何內容,一旦啟動就絕對不會進行任何操作,除非我們是這樣做的人。

    我的測試是在具有7GiB DDR2700 4.35MHz和8GiB NVidia 16 Ti圖形的Ryzen 64 4X(3200GHz,具有1050核和4線程)上進行的。

    注意:有些主板甚至支持1TiB的RAM和具有64線程的麥克風,例如ThreadRipper 2等。

  7.   馬科斯 他說:

    您的評論非常有趣,但我們不應誇張使用必要的RAM:我有一個Windows 10的VDI映像,其重量僅為13 GB,而具有14 GB的RAM則可以輕鬆地工作。

    關於將整個操作系統安裝在RAM中的事情,我不太清楚這一點也不為過。 如果您已將BSDFS格式的SSD格式化為啟用了即時壓縮(將較少的數據寫入驅動器),因為在安裝軟件包時幾乎只有數據被寫入系統分區(我們顯然希望將其保留在SSD /磁盤),配置文件(大小可忽略的文本文件,以及BTRFS的LZO壓縮使它們的大小甚至可以忽略不計)和其他幾乎沒有什麼,因為在我看來,用大砲射擊殺死蒼蠅; 請記住,如果用戶具有超過4 GB的內存,那麼所有現代發行版motan / tmp都在RAM中,我認為是RAM,因此SSD /磁盤不會因為寫入的許多臨時操作而遭受最少的磨損,這還不止於此我幾年前在/分區中插入了藤條。

    另一件事是家庭,那裡的數據不斷寫入:緩存,如果我們移動了窗口,下載等會經常更改的設置等。 在那裡有趣的是,僅在RAM中工作並且僅在我們確實需要時才與磁盤同步,儘管應該有一些工具(我不知道是否會有,我不會感到驚訝,但是在閱讀您的評論之前,我有不要考慮這個主題)提醒用戶,當他們要關閉會話時,他們的/ home中有更改而沒有保存,甚至詢問我們是否要將它們同步到磁盤上,因為肯定有一半的時間我們會忘記並且我們會在半秒後關閉計算機以幫助自己領先。

    “有些主板甚至支持1TiB的RAM和具有64線程的麥克風,例如ThreadRipper 2等。”

    而且,機架仍然支持更多功能,但不要讓我們採用xD。 讓我們回到地球上,人們幾乎買不起800歐元的團隊...

    問候。

  8.   馬科斯 他說:

    “我有一個Windows 10的VDI映像,該映像僅重13 GB,具有14 GB的RAM完全可以輕鬆工作。”
    抱歉,我的意思是24GB。 我的手指轉到下一個鍵了嗎?