Създайте "RAMDisk" на вашата Linux дистрибуция

Икона RAMDisk

Както знаете, скоростта на достъп до паметта е много важна. Тесните места, генерирани в миналото между магнитни памет и процесори, означаваха, че трябва да се включи по-бърза буферна памет, овенът. По-късно с напредването на микропроцесорите дойде кешът, още по-бърз, за ​​да предложи буфер между RAM и регистрите на процесора. Съвсем наскоро се появиха SSD твърди дискове, които са по-бързи от магнитно-механичните твърди дискове, тъй като са базирани на флаш памет.

Gigabyte мислеше преди няколко години да създаде твърд диск с RAM (RAMDisk, наречен i-RAM), много бърза памет в сравнение с твърдите дискове, но се случи нещо подобно на случилото се с Ageia с нейната PhysX карта. Те всъщност не се желираха и в крайна сметка изчезнаха от пазара, а сега със SSD (и базирани на RAM SSD) това има още по-малък смисъл. За какво става дума? Е, основно се използва RAM памет за съхранение на данни, сякаш е твърд диск, така че достъпът е много по-бърз.

Е, нямате нужда от i-RAM или SSD или нещо подобно, за да ускорите трансферите и достъпа до директориите, файловете или програмите, които искате. За това можете създайте RAMDisk на вашия Linux дистрибутор. Единственото изискване е да имате достатъчно RAM, препоръчва се> 4 GB, за да запазите малко от нея, за да я използвате като ултра бърз "твърд диск". Нещо подобно на това, което някои графични процесори за лаптопи са направили с Share Memory, но в този случай за вашите данни.

За да създадете тази памет, трябва да изчислите паметта, която имате, защото ако изчерпате цялата или голяма част от нея, ще останете без RAM за целите, за които е създадена и ще бъде глупаво. Например, ако имате 8 GB RAM, можете да вземете 2 GB за RAMDisk. Повтарям, неговото нещо е, че имате повече RAM, ако имате 2GB или 4GB може да не си струва ... (не забравяйте в "size =" посочете размера, в моя пример съм избрал 1024MB, т.е. 1 GB, или можете също да използвате "G" вместо "M", за да го посочите в GB) След като разберете това, ние трябва да работим с следните стъпки от вашия терминал:

mkdir /tmp/ramdisk

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

Сега имате 1 GB резервирани в RAM паметта си, за да можете да добавяте каквото пожелаете към създадената от нас директория 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 (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Маурисио каза той

    Имам въпрос, след като изключим оборудването, данните ще продължат ли да бъдат в паметта? Казвам това, тъй като RAM е нестабилна. Ще се радвам, ако можете да ми обясните това.

    1.    Исак PE каза той

      Здравейте,

      Прав си, забравих да коментирам в статията, че тъй като е нестабилна, тя ще бъде изтрита всеки път, когато стартирате компютъра. Благодаря, че ми напомни, вече го добавих. Това е нещо много важно, което не бива да се пренебрегва, така че никой да не загуби данните си.

      Наздраве и надежда, че помогнах. Благодаря!!!

      1.    Маурисио каза той

        Това, което виждах е, че има програми, които правят този дял. Това, което правят тези програми, е да създадат изображение на твърдия диск на данните, които са в RAM, така че когато рестартираме, те да не бъдат загубени. След това, когато системата се стартира, както разбирам, данните, записани на твърдия диск, се изхвърлят в RAM, за да можем да ги използваме отново. Благодаря за бележката и че реагирахте бързо! Поздравления!

  2.   Леополдо Кантило каза той

    Интересно, струва си да помислим за някои практически приложения, скрипт, който създава този RAM дял в началото и зарежда интересни файлове, няма да е полезно ... да сложите база данни ...? трябва да разследвате темата ... благодаря за бележката

  3.   Султанович каза той

    може да работи само с подробности за fs. В моите тестове той работи само по следния начин:

    монтиране -t tmpfs tmpfs / tmp / ramdisk -o размер = 300м

  4.   Исмаел каза той

    Невероятно, великолепието, което може да се направи с GNU / LINUX. :)

  5.   Джими Олано каза той

    Какво ще кажете да използваме този RAMDisk за "tmp" дяла?

    За да може, би могло, ще е необходимо да се постави код, аз не искам кода, КОЙТО ПИТАМ ЗА ПРАКТИЧНОСТТА НА ТЕМАТА, ДА ГИ ИЗПОЛЗВАМ. Отбелязвам, че за бази данни, въпреки че си спомням правилно, вече има опция за поддържане на таблици с бази данни в RAM памет, пример: https: // dev.mysql.com/doc /refman/5.5/en/ storage-engine -setting. html

  6.   анонимен каза той

    Ако имате късмет и сте влачени през последните 20 години, ще можете да имате 64GiB RAM и по този начин ще можете да копирате виртуалния твърд диск на VirtualBOX (или която и да е друга виртуална машина) в RAM; Предполагам, че този файл не заема повече от 48GiB (за да остави достатъчно свободна RAM за Linux и за виртуалната машина). По този начин виртуалната машина лети и ако искате също така промените във виртуалната машина да бъдат загубени (неизменност), вече няма да се налага да губите производителност, като правите виртуалния твърд диск на машината неизменим, защото преди да го стартирате, копирате то от NVMe / SSD / HDD към RAM и след това при изключване се губи това, което е в RAM (точно това, което се желае в този случай, което е неизменност).

    Така че, с толкова много RAM, можете да направите образа на твърдия диск непроменим и с фиксиран размер, получавайки максимално възможната производителност в достъпа, че заедно с факта, че твърдият диск ще бъде в RAM, той прави някои истински удоволствия при работа с виртуални машини (само по едно разграбване наведнъж).

    Че когато приключите с използването на виртуалната машина, искате да запазите състоянието на виртуалния твърд диск, тъй като той се копира от RAM в NVMe / SSD / HDD.

    Това, което видях, вече има някои NVMe, които са способни да четат със скорост малко над 5GiB / s (да, пет гигабайта в секунда при четене) и че използването само на едно (в RAID0 или подобно би било още по-бързо) за копиране 48GiB виртуалният образ на твърдия диск от него в RAM отнема само около десет секунди, оле!
    Като минуси, когато правим обратния процес (от RAM до NVMe), най-бързите, които съм виждал засега, са малко повече от 3GiB / s в писмен вид (да, три гигабайта в секунда в писмен вид), така че запазването на образа на 48GiB виртуално трудно шофиране от RAM до NVMe отнема само около осемнадесет секунди, отново огромно оле!

    Ще имаме една от най-бързите NVMe и 64GiB RAM с Linux и виртуална машина с например Windows 10, доста е пропуск, ако RAM се използва за хостване на твърдия диск на виртуалната машина.

    И сега подаръкът за Linux ... вече има пакет, наречен "ramroot" (поне изглежда, че за базираните на Arch дистрибуции), който по време на зареждане е отговорен за копирането на целия корен на системата Linux в RAM и продължава да се зарежда от RAM, с която също така получаваме неизменяемост на Linux, който използваме, да не говорим, че ще работи от RAM, с цената на увеличаване на времето за зареждане до известна степен.

    Ако всеки, който чете това, знае стартовите дистрибуции на Linux от CD / USB, които се копират в RAM по време на стартиране (като SystemRescueCD и т.н.), той ще знае предимствата, които предоставя: Той винаги се стартира по същия начин, винаги върви възможно най-бързо тъй като всичко е в RAM, нищо не се записва на физическите дискове по време на стартиране или при използване на Linux (нещо много полезно за удължаване живота на SSD, лично за по-малко от месец и с написани по-малко от терабайт, някои SSD вече са напуснали аз да работя, по-конкретно 120GB от марката KingDian), освен очевидно, ако монтираме нещо в четене и запис и запазваме нещо там, комбинирайки това с виртуалната машина, системата "лети" при достъп до диска, тъй като всички отиват в RAM.

    Наличието на целия Linux в RAM значително удължава полезния живот на SSD и NVMe, тъй като нищо или почти нищо не им се записва по време на зареждане и веднъж не се стартира абсолютно нищо, освен ако ние самите не го направим.

    Тестовете ми бяха на Ryzen 7 2700X (4.35GHz с 8 ядра и 16 нишки) с 64GiB DDR4 3200MHz и 1050GiB NVidia 4 Ti Graphics.

    Забележка: Има дънни платки, които дори поддържат 1TB RAM и микрофони с 64 нишки като ThreadRipper 2 и т.н.

  7.   Marcos каза той

    Вашият коментар е много интересен, но не бива да преувеличаваме с необходимата RAM: Имам VDI образ на Windows 10, който тежи само 13 GB, с 14 GB RAM ще работи с пълна лекота.

    Не съм много наясно относно монтирането на цялата операционна система в RAM, че това не е твърде много. Ако имате форматиран SSD в BTRFS с активирана компресия в движение (значително по-малко данни се записват в устройството), тъй като почти всички данни се записват в системния дял, когато са инсталирани пакети (които очевидно искаме да останем в SSD / диск), конфигурационните файлове се модифицират (текстови файлове с пренебрежимо малък размер, а LZO компресията на BTRFS ги оставя в още по-незначителен размер) и малко друго, защото ми се струва, че убива мухите с топовни изстрели; имайте предвид, че всички съвременни дистрибуции motan / tmp в RAM, ако потребителят има повече от 4 GB, мисля за RAM, така че SSD / дискът не понася най-малко износване поради много временни операции, които са написани, което беше какво повече бастун, който сложих в / дяла преди няколко години.

    Друго нещо е домът, там постоянно се записват данни: кешове, настройки, които се променят толкова често, ако сме преместили прозорец, изтегляния и т.н. Там може да е интересно да работим само в RAM и да синхронизираме на диск само ако наистина искаме, въпреки че трябва да има някакъв инструмент (не знам дали ще има, не бих се изненадал, но докато прочета коментара ти имам не мисли за темата), за да напомня на потребителя, когато ще затвори сесията, че има промени в техния / дома, без да запазва или дори да ни попита дали искаме да ги синхронизираме с диск, защото със сигурност половината от времето, което бихме забравили и изключете компютъра, за да си помогнем да водим половин секунда по-късно.

    „Има дънни платки, които дори поддържат 1TiB RAM и микрофони с 64 нишки като ThreadRipper 2 и т.н.“

    Вече и стелажи, които все още поддържат много повече, но не ни пускайте xD. Да се ​​върнем на планетата Земя, където хората трудно могат да си позволят екип от 800 евро ...

    Поздрави.

  8.   Marcos каза той

    „Имам VDI образ на Windows 10, който тежи само 13 GB, с 14 GB RAM ще работи с пълна лекота.“
    Съжалявам, имах предвид 24GB. Пръстът ми отиде ли до следващия ключ?