Ram drive in linux

Создаём RAMdisk на Ubuntu 18.04

Создаем папку для рамдиска (точку монтирования):

ВНИМАНИЕ: Здесь: size=2G это значит, что рамдиск будет иметь размер 2 Гб. Для создания рамдиска размером 256Мб следует вписать:
size=256M

После чего проверяем правильность создания рамдиска командой:

И видим следующий результат:

Теперь вы можете использовать рамдиск как вы используете обычные разделы жесткого диска. Вы даже можете редактировать любые файлы прямо из РАМДИСКА.

Чтобы отключить виртуальный диск (РАМДИСК), выполните следующую команду (все ваши файлы на этом разделе будут моментально удалены):

Подключение RAM-диска на UBUNTU 18.04 автоматически, при загрузке системы

Вы можете использовать файл /etc/fstab для автоматического монтирования виртуального диска при загрузке системы.

Во-первых, сделайте резервную копию файла /etc/fstab. Можно с помощью следующей команды:

Резервная опия файла /etc/fstab сохранится в /etc/fstab.backup. Теперь если что-то случится в процессе, вы сможете просто восстановить файл /etc/fstab.

Открываем файл /etc/fstab:

После чего в конце файла добавляем следующую строчку:

После чего перезагружаем сервер командой:

После загрузки системы РАМдиск должен быть автоматически смонтирован (нужно проверить):

Сохранение данных RAM-диска:

Далее я покажу, как сохранить данные рамдиска на десткий диск при завершении работы системы и загрузить данные с жесткого диска в RAM-диск при загрузке системы.

Для этого создадим каталог, где диск будет смонтирован и где резервные копии данных будут сохраняться должны иметь одинаковый набор прав доступа к файлам.

Сначала создайте каталог, где данных RAM-диска будет сохранен при выключении системы с помощью следующей команды:

Теперь создайте файл системной службы с помощью следующей команды:

Источник

Записки дебианщика

В этом блоге публикуются заметки и решения, найденные в процессе работы, освоения и жизни в дистрибутиве Debian GNU/Linux.

Виртуальный диск в памяти: как создать ramdisk в Linux?

Бывают задачи, когда нужно работать с большим количеством мелких файлов и делать это по возможности быстро, без завязок на меееедленную файловую подсистему. Ветераны вспомнят о том, что есть такой виртуальный диск , он же — RAM-дисках ( ramdisk ) и будут совершенно правы — это действительно выход, а сделать ramdisk в Linux можно буквально в один клик на клавиатуре .

Собственно, в ядре должна быть поддержка tmpfs, и если вы (или авторы вашего дистрибутива) не любители усложнять себе жизнь, она там должна быть.
Быстренько создаём новую точку монтирования:

# mount -t tmpfs -o size= xxx M tmpfs /mnt/tmpfs/
или
$ sudo mount -t tmpfs -o size= xxx M tmpfs /mnt/tmpfs/

где xxx M есть размер RAMdisk в Мегабайтах.
Будьте осторожны и не размахивайтесь слишком широко: если вы попросите создать ramdisk больше, чем имеете оперативной памяти, система начнёт сгружать всё в swap-файл и дела пойдут очень медленно и грустно.

Если же вы хотите изменить размер ramdisk — это просто:

# mount -o remount -o size= yyy M /mnt/tmpfs/
или
$ sudo mount -o remount -o size=
yyy M /mnt/tmpfs/

При этом содержимое диска не пропадёт, но его размер тут же увеличится (при уменьшении также ничего не пропадёт, если только данных не больше, чем диск).

Другие способы создания виртуальных дисков в памяти хорошо описываются в англоязычном посте.

Предупреждаю особо горячих финских парней: это RAM-диск, а это значит, что всё его содержимое после отключения питания машины будет безвозвратно потеряно. Будьте бдительны.

Ссылки
Есть толковые посты о том, как в Linux сделать виртуальный диск в памяти здесь и тут.

15 комментариев: |высказаться!| RSS-лента дискуссии.|

Хм. Я в блоге тоже не так давно писал об этом.

Кстати говоря, это никакой не ramdisk. Это особенность ядра Linux и называется она tmpfs.

virens комментирует. 15 мар. 2010 г., 16:30:00

@bosha пишет.
Хм. Я в блоге тоже не так давно писал об этом.
А что ж ссылочку в посте не привели? Себя не похвалишь — никто не похвалит. В ваших блогах ничего сходного не нашел, увы.

Кстати говоря, это никакой не ramdisk.
Это понятно, просто для моих коллег, работающих под виндой, это самая близкая аналогия. Ну и в общем-то это можно и диском назвать 🙂

Анонимный комментирует. 15 мар. 2010 г., 16:41:00

Не знаю насколько хорошая это идея, но /tmp и каталог временных файлов для havp я так и монтирую, в tmpfs.
Правда полгига под это дело нервируют жабу:)

Alexey комментирует. 15 мар. 2010 г., 16:55:00

здорово, спасибо. А для чего конкретно вы используете tmpfs?

Omeh2003 комментирует. 15 мар. 2010 г., 17:31:00

Читайте также:  Краска для принтера epson revcol

Спасибо за инструкцию. Я в последнее время подумываю над тем что лучше базу с мускулом в памяти держать. Так что для меня инструкция в тему 🙂

Oleg комментирует. 15 мар. 2010 г., 18:58:00

К стати для особо горячих финских парней можно еще добавить, что использовать это надо с осторожностью при нехватки памяти. Ибо уйдет в своп и весть профит от использования может сойти на нет. 😉

Dormestmass комментирует. 15 мар. 2010 г., 21:23:00

В большинстве современных дистров tmpfs уже примонтирован в /dev/shm. Так что можно эту ФС сразу использовать без дополнительных телодвижений.

По поводу использования. tmpfs очень удобно использовать для хранения lock-файлов, используемых в скриптах, т.к. в случае неожиданного ребута они сами-собой удалятся.

Алексей комментирует. 16 мар. 2010 г., 01:49:00

Спасибо. Полезная информация.

Анонимный комментирует. 16 мар. 2010 г., 02:08:00

# mkdir -p /mnt/ram
# mount -t ramfs none /mnt/ram

— это _настоящая_ ram, со всеми ее преимуществами, но целиком.

Если очень надо ограничить объем:

# dd if=/dev/zero of=/mnt/ram/diskimg bs=1024 count=1024
# mke2fs -vFL RAMDisk /mnt/ram/disk.img
# mkdir -p /mnt/ramdisk
# mount -o loop /mnt/ram/disk.img /mnt/ramdisk

Minoru комментирует. 16 мар. 2010 г., 08:22:00

он же RAM-дисках
«он же — RAM-диск»

Для этого быстренько создаём новую точку монтирования:
Это предложение лучше записать так: «Быстренько создаём точку монтирования». А то создаётся впечатление, что ты всё ещё о tmpfs в ядре говоришь.

больше
Откуда и зачем там перевод строки?

при уменьшении так же
Так же предупреждаю особо горячих финских парней
🙂

Вроде как видел советы держать копию профиля Firefox в оперативке — мол, так быстрее работает.

virens комментирует. 16 мар. 2010 г., 09:17:00

@Анонимный, 15.03.2010 8:41:00
Не знаю насколько хорошая это идея, но /tmp и каталог временных файлов для havp я так и монтирую, в tmpfs.
Ну так знакомые виндузятники спросили: а есть в этих линупсах рамдиск!? Вот я им этим постом и ответил. Ясен пень, что это есть уж сто лет как и это не вполне диск (мне выше уже попеняли на это — и в общем-то правильно).

@escantor, 15.03.2010 8:55:00
А для чего конкретно вы используете tmpfs?
Архивирование и обработка большого количества мелких файлов, работа с данными сигналов в текстовом формате (выделение столбцов\строк) — так быстрее.

@Иван, 15.03.2010 9:31:00
Я в последнее время подумываю над тем что лучше базу с мускулом в памяти держать.
Я там про горячих парней уже писал: грохнете базу — чур меня в комментах не проклинать 🙂 А синхронизовать ее потом как с той, что на винчестере?

@Olly Cat, 15.03.2010 10:58:00
К стати для особо горячих финских парней можно еще добавить, что использовать это надо с осторожностью при нехватки памяти.
Каждый уважающий себя горячий пингвиновод должен лично познакомиться с oom_killer 🙂

@Dormestmass
В большинстве современных дистров tmpfs уже примонтирован в /dev/shm.
А хочется свой лесапед с квадратными колесами 🙂 То есть свой каталог, где только твои файлы.

@Анонимный, 15.03.2010 18:08:00
# mount -t ramfs none /mnt/ram
— это _настоящая_ ram, со всеми ее преимуществами, но целиком.

Трюк интересный (я попробую на университетском кластере, который не жалко :-)). Но это вся оперативка — а хочется, чтоб еще осталось приложениями.

Если очень надо ограничить объем:
Конечно, надо, а то все в своп уйдет.

Спасибо тебе, анонимный разум, за столь интересный трюк. Будем пробовать.

@Minoru
И ты здесь, Брут? 🙂

А то создаётся впечатление, что ты всё ещё о tmpfs в ядре говоришь.
Да, увлекся.

Откуда и зачем там перевод строки?
У меня экран Уже, чем окно Scribefire — иногда я переношу слова принудительно, чтобы видеть, что пишу.

🙂
Таки требую отменить это дурное правило 🙂

Вроде как видел советы держать копию профиля Firefox в оперативке — мол, так быстрее работает.
Это тормозное чудовище ничто не спасет. И хотя я пользователь Огнелиса, но факт его тормозов (а в последнее время и несовместимости расширений) меня начинает бесить.

Еще раз спасибо за интересные трюки, идеи, советы и конечно же найденные ошибки 🙂 А коли отыщутся новые — отгружайте в комментарии.

Анонимный комментирует. 24 мар. 2010 г., 02:17:00

>Это тормозное чудовище ничто не спасет.

Прошу прощения, если знаете про VACUUM для фоксовского мускула. Помогало. Кэш фокса в tmps самообман. Меня огнелис уже не бесит. P.S. Сам давно на midori.

/.mozilla/firefox -name ‘*.sqlite’ -print -exec sqlite3 <> «VACUUM; REINDEX;» \;’

Дмитрий комментирует. 29 мар. 2010 г., 08:46:00

Здравствуйте.
Может кто нибудь мне приведет пример, как запускать в потоке два bash-скрипта, script1 делает echo «имя файла» script2 на вход это имя получает и он его, например, копирует куда-нибудь. Поотдельности все работает, script1 печатает «имя», если это имя скопировать подставить параметром в script2 «имя» — нормально копирует. А если
запускаю в одной строке:
# script1 ; script2
— печатает «имя» и все, больше ничего. пусто на входе script2!!

Анонимный комментирует. 18 авг. 2011 г., 09:21:00

Читайте также:  Крепление к полу bsf 41 ssh

С таким уровнем познаний рутом скрипты отлаживаешь.

Можно в обратные кавычки заключить то, что должно выполниться и подставиться вместо себя.

Или использовать xargs

script2 | xargs script1

Анонимный комментирует. 10 сент. 2012 г., 16:35:00

у меня несколько клонов одной проги запущены под вайном под разными префиксами (чтобы могли работать параллельно)

каждой из прог надо для работы 14 гб архивов,
раньше я для каждого вайна создавал жесткую ссылку на файлы с архивами

а после того как я загнал архивы в память, жесткую ссылку создать невозможно.

как мне теперь вообще работать с этими файлами?
согласен на любой костыль.

PS файлы лежат в /dev/shm/ (/run/shm/)

Источник

JamesCoyle.net Limited

Data Integration and Virtualisation

Create a RAM disk in Linux

Create a RAM disk in Linux

There are many reasons for creating a memory based file system in Linux, not least of which is to provide a near zero latency and extremely fast area to story files. A prime use of a RAM disk is for application caching directories or work areas.

There are two main types of RAM disk which can be used in Linux and each have their own benefits and weaknesses:

Check the amount of free RAM you have left on your machine before creating a RAM disk. Use the Linux command free to see the unused RAM. The below is an example of a 31GB of ram in a production server.

The free command shows the amount of RAM availale on your system in addition to the amount of memory used, free and used for caching. SWAP space is also displayed and shows if your system is writing memory to disk.

Create a folder to use as a mount point for your RAM disk.

Then use the mount command to create a RAM disk.

Substitute the following attirbutes for your own values:

  • [TYPE] is the type of RAM disk to use; either tmpfs or ramfs.
  • [SIZE] is the size to use for the file system. Remember that ramfs does not have a physical limit and is specified as a starting size.
  • [FSTYPE] is the type of RAM disk to use; either tmpfs, ramfs, ext4, etc.

You can add the mount entry into /etc/fstab to make the RAM disk persist over reboots. Remember however, that the data will disappear each time the machine is restarted.

Источник

How to Easily Create RAM Disk on Debian, Ubuntu, Linux Mint, CentOS

This tutorial will show you how to quickly create a RAM disk in any Linux distro (Debian, Ubuntu, Linux, Fedora, Arch Linux, CentOS, etc). Compared to commercial Windows RAM disk software that costs money, Linux can utilize this cool feature 100% free of charge.

What is RAM Disk?

RAM disk is also known as RAM drive. It’s a portion of your RAM that are formated with a file system. You can mount it to a directory on your Linux system and use it as a disk partition.

Why use RAM disk?

RAM is ultra-fast compared to even the fastest solid state drive (SSD). As you may know, the main performance bottleneck in today’s computer is the speed of hard drive, so moving programs and files to the RAM disk yields super fast computing experience.

Pros of RAM disk:

  • Ultra-fast
  • Can sustain countless reads and writes

Cons of RAM disk:

  • RAM is volatile which means all data in RAM disk will be lost when the computer shutdowns or reboots. However, this can be a pro in some situations, if you use it wisely.
  • RAM is expensive so it has limited capacity. You need to make sure not allocate too much space for RAM disk, or the operating system would run out of RAM.

You can do a lot of interesting things with RAM disk.

  • RAM disk is best suited for temporary data or caching directories, such as Nginx FastCGI cache, and Debian package downloads ( /var/cache/apt/archive/ ). If you use a SSD and there will be a lot of writes to a particular directory, you can mount that directory as a RAM disk to reduce wear out of SSD.
  • I also use RAM disk to temporarily store screenshots when writing articles on this blog, so when my computer shut down, those screenshots will automatically be deleted on my computer.
  • You might not believe it, but I use RAM disk to run virtual machines inside VirtualBox. My SSD is about 250G. I can’t run many VMs directly on the SSD and I’m not happy about the speed of my 2TB mechanical hard drive (HDD). I can move the VM from HDD to RAM disk before starting the VM, so the VM can run much faster. After shutting down the VM, I move the VM files back to HDD, which takes less than 1 minute. This of course requires your computer to have a large capacity RAM.
Читайте также:  Powershell как подключить принтер пользователю

How to Create a RAM Disk in Any Linux Distro

First make a directory which can be anywhere in the file system such as

If you want to let every user on your Linux system use the RAM disk, then change its permission to 777.

Next, check how much free RAM are left on your system with htop command line utility because we don’t want to use too much RAM.

Then all left to do is to specify the file system type, RAM disk size, device name and mount it to the above directory. You can see from the screenshot above that I have plenty of free RAM, so I can easily allocate 1GB for my RAM disk. This can be done with the following one-liner. It will be using tmpfs file system and its size is set to 1024MB. myramdisk is the device name I gave to it.

To allocate 10G for the RAM disk, run this instead.

If we issue the following command

We can see it’s successfully mounted.

Now if I copy my VirtualBox machines file (5.8G) into the RAM disk, my RAM usage suddenly goes up to 9.22G.

If I unmount RAM disk,

Everything in that directory will be lost and RAM usage goes down to original.

This is how you can test if your RAM disk is working.

Test RAM Disk Speed

To test write speed of RAM disk, you can use dd utility.

Which gave me 2.8GB/s write speed.

To test read speed, run:

Which gave me 3.1 GB/s read speed.

I also did a speed test on my SSD. The write speed is 534MB/s and read speed 1.6GB/s.

Auto-mount on System Boot

Edit /etc/fstab file.

Add an entry like this:

x-gvfs-show will let you see your RAM disk in file manager. Save and close the file. Your Linux system will automatically mount the RAM disk when your computer boots up.

To mount it immediately without reboot, run the following command.

Using RAM Disk to Reduce SSD Wear Out

To increase the lifespan of your SSD, you should avoid write and delete operations on the SSD as much as possible. The Linux operating system has two activities that make up the most write and delete operations.

  • Software installation and updates
  • Logging

If you use a Debian-based Linux distribution, the temporary download directory for software packages is /var/cache/apt/archives/ . Once the package is installed, APT package manager automatically deletes the .deb files in this directory. You can add the following line in /etc/fstab file to mount this directory in RAM.

Fedora stores temporary package downloads under /var/cache/dnf/ directory, so you can add the following line in /etc/fstab file to mount this directory in RAM.

Some folks might wonder if mounting this directory will prevent Fedora from upgrading to a new release, because Fedora requires reboot to install system upgrade packages. The answer is No. It won’t prevent system upgrades, as Fedora stores system upgrade pacakges under a different directory /var/lib/dnf/system-upgrade/ .

The logging directory on Linux is usually /var/log/ . It’s not safe to mount the entire /var/log/ directory in RAM. Change to this directory.

And check the size.

You will find that the /var/log/journal/ sub-directory uses the most disk space. It’s used for logging systemd services and safe to mount in RAM, so you can add the following in in the /etc/fstab file.

If you run Nginx web server, you might want to mount the /var/log/nginx/ directory into RAM. On one of my servers, this directory is 2.2G in size.

After saving the /etc/fstab file, run the following command to mount all file systems.

How to Run VirtualBox VM on RAM Disk

Note that this requires a large-capacity RAM.

When you create a brand new virtual machine, you should set the machine folder to the RAM disk directory ( /tmp/ramdisk/ ). If you can’t find the Machine folder option, then you need to install the latest version of Virtualbox on your system.

If you have an existing VM, then select the VM in the main VirtualBox Manager window and go to the menu bar and select Machine -> Move, or right-click the VM and select Move from the context menu. You will be prompted to choose a new folder for the virtual machine. Select /tmp/ramdisk/ as the new folder.

Remember to move your VM back to the original folder before shutting down your computer, or your VM will be deleted.

Wrapping Up

And that’s the basics of creating RAM disk in Linux. If you found this post useful, then subscribe to our free newsletter or follow us Twitter or like our Facebook page. Thanks for visiting!

Источник

Поделиться с друзьями
КомпСовет
Adblock
detector