Pull to refresh

Comments 118

Ram disk в чистом виде — штука довольно бессмысленная. Разве что %TEMP% туда положить для программ которые иначе не умеют. Нужна поддержка на уровне ОС — чтобы определенный каталог отображался на RAM и работал из памяти в фоне реплицируясь на энергонезависимый носитель. Типа кэша, но с явным указанием с каким путем мы работает и сколько памяти предоставляем. Вот это действительно могло бы быть эффективным.
Ну все современные ОС и так используют всю свободную память под дисковый кеш, поэтому по хорошему ничего больше делать не нужно.
Меня в линуксе иногда подбешивает, когда cp отрабатывает мгновенно, а потом umount тупит несколько минут, потому что подключенная флешка не такая уж и быстрая, на самом деле.
Вроде как да, но все это происходит внутри абсолютно черного ящика живущего по своим правилам ;)
Как раз сегодня наблюдал потрясающую ситуацию копируя огромный файл на ме-е-е-дленную флэшку — весь файл сожрался в память, система стала как-то странно подтупливать, а часть программ вываливаться сообщая о недостатке памяти (хотя вроде свободной еще было куча). Win7 x64. Нафиг надо такое щастье, честно говоря…
О, кстати. Ровно на DTSE9 вышеупомянутую и копировал ;)
А вот кстати такого не должно было произойти по вине файлового кеша. Потому что файловый кеш — он использует только свободную память. Он никогда (ну ок, почти никогда) не будет выдавливать занятые страницы памяти в своп.
Поэтому причина скорее всего в чем-то другом.
Вот и я так думал(ю). Может дисковую систему как-то переклинило. Но копирование закончилось — рассосалось. Я ж говорю — черный ящик
Занятые-то может и не вытолкнет, но не дать брать новые (в том числе и для возвращаемого из свопа) вполне может.
Ну не дать брать новые может наверное только в случае, если все страницы кеша помечены как грязные. И то, будет пытаться как можно быстрее сбросить их на диск. Во всяком случае так работает ядро линукса, см. мой комментарий ниже.
Конечно выдавливать не будет, но если приложение попросит выделить большой кусок RAM а большая часть её занята дисковым кешем, естественно приложению будет выписан отказ. Всё это дело усугубляется по мере заполнения всей доступной памяти, когда проблематично будет выделить даже какие-то жалкие мегабайт-другой.
Неа, если приложение просит выделить большой кусок RAM, то грязные страницы дискового кеша в срочном порядке сбрасываются на диск, а чистые — просто дропаются и отдаются приложению. Очень в редких случаях приложение получит отказ.
Точнее — даже не так. Запрос на память удовлетворяется мгновенно. Другое дело, что никакие страницы пока не выделяются. Вот когда приложение начнет писать в выделенную память — тогда ядро начнет искать свободные страницы, дропать кеши, выдавливать старые страницы в своп и т.д. Во всяком случае так работает ядро линукса.
Винда вроде более консервативна в этом смысле.
Правда, при таком подходе, как в линуксе, к зажравшемуся процессу может прийти OOM killer, но это уже другая историяю…
Так именно со скоростью сброса на диск и проблема.
Прога открыла файл на запись, и залила в него гигабайт, который весь завис в кеше и неторопливо пишется на физический носитель.
А что страницы можно сбросить в своп на более быстрый диск вместо записи на медленный — система может и не «догадаться»
Вот же
отключалка

Но не уверен что эта галка убирается для всех USB-storage одновременно, надо тестировать.
Для флэшки вставленной первый и единственный раз в жизни слишком сложно — надо специально озаботиться…
UFO just landed and posted this here
Уменьшите dirty bytes, и проблема исчезнет, в кеш не будет попадать настолько много данных, и cp будет завершаться только тогда, когда уже почти все на флешку записано.

cat /etc/sysctl.d/60-dirty.conf

vm.dirty_bytes = 66554432
vm.dirty_background_bytes = 33554432
Да, можно. Я имел в виду «подбешивает» скорее в кавычках. В этом нет ничего плохого, и во многих случаях наоборот, только повышает отзывчивость системы. Поэтому, я бы лучше не стал крутить эти настройки лишний раз.
Необязательно на уровне ОС, можно просто рамдиск железный сделать: слоты под плашки памяти + PCIE-контроллер, прикидывающийся винтом. Куда интереснее, чем городить софтовую поддержку под конкретную ОС.
Такие штуки были придуманы ещё в лохматые годы и выпускались. Была оперативная память с батарейкой, потом придумали добавить туда SDcard чтобы сбрасывать данные при выключении и обратно заливать при включении.
Я в курсе. Толку с тех штук, если они не умеют тот же DDR3 и не используют возросшую пропускную способность современной шины?
Кроме %TEMP% можно положить pagefile.sys, профили браузеров и портативные версии программ. Всё вместе даёт очень существенную прибавку к комфорту.
Простите, может, я чего-то не понимаю, но каждый раз, когда я вижу подобный совет по использованию рамдиска, я долго думаю «Зачем?», и всё никак не могу найти ответа. Не подскажете?
Не понимаю ваш вопрос. Рамдиск обеспечивает высокую скорость чтения-записи файлов. Поместив на него часто используемые нами/системой файлы получаем сокращение времени на их чтение-запись, что существенно сказывается на комфорте.
Зачем файл подкачки на ramdisk при таком количестве памяти его спокойно можно отключить.
Некоторый не очень свежий софт явно просит свап файл. С другой стороны этот софт отлично летает и с свапом на диске.
При таком объеме памяти своп все равно не будет использоваться и где лежит его образ совершенно не важно.
А вот и нет, довольно часто он таки используется системой даже при 80% свободной оперативной памяти.
Ну и допустим фотошоп самостоятельно туда пишет, не знаю как они с системой договариваются…
Может он и используется больной на ядро системой, но отключение файла подкачки решит проблему. Вынесение свопа в оперативную память — это как купить автомобиль только для того, чтобы быстрее можно было добраться до автосервиса.
Windows10 без свопа очень криво работает.
У меня на 32GB быстро заканчивается память и начинает всё вылетать.

Upd: Ахах. Не обратил внимания на дату. Некропостинг FTW
Это не проблема отсутствия свопа, это проблема непомерного жора памяти приложением(ями) — открыть монитор ресурсов и выяснить кто потребляет столько памяти и по результатам расследования либо умерить пыл приложения или добавить памяти.
UFO just landed and posted this here
Был печальный опыт по длительному выяснению причины падения windows.
Пользователь в моем присутствии банально не запускал всего одну программу и клятвенно утверждал, что это его обычный сценарий.

Так что отключить свап не всегда возможно. Все еще есть софт приводящий к фатальным последствиям при его отсутствии.
UFO just landed and posted this here
Файл подкачки лучше никогда на ramdisk не выносить.
Чревато BSOD-ами при перезагрузке — наткнулся уже на эти грабли.

Сам пользуюсь QSoft RAMDIsk Enterprise (при русскоязычной локали она, как понимаю, бесплатна).
Область применения:
1. %temp%
2. Скачанные файлы (95%из них обычно нужны на «раз запустить»)
3. Кэш браузера.
4. Там же можно быстро перекомпилировать ISO-шники, модифицировать wim-ы и т.п.

Нагрузка на физические диски в итоге — меньше, а скорость — выше.
%TEMP% в RAMDisk тоже может быть проблемой. Например, если установщик намерен продолжить установку после перезагрузки. Софт RAMDisk-а не всегда успевает вернуть данные на место.
Если честно — за 5+ лет использования RAM-диска ни разу не столкнулся с такой ситуацией. Даже если %temp% не находится в RAM — при перезагрузке временные файлы могут быть успешно почищены каким-нибудь EraseTemp или вообще скриптом. Установщики обычно пишут всё критичное в %programdata% или напрямую в каталог, куда устанавливается.
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Я года два просидел без свопа. На 16 гигабайтах памяти. Что я делал не так?
Потому что дурные браузеры типа ИЕ, при скачивании например странички из инета сначала сохраняют её на диск и только потом отображают.
Использовал RAMDisk для работы в портативном фотошопе.
Прибавка в скорости очень существенная
Создавать RAM-диск, чтобы положить туда pagefile? Нет, к такому меня не готовили.

Вот данные некоторых программ, которые не жалко терять — другое дело.
самое смешное что в PAE-шные времена такое вполне себе бывало — и вполне работало
При таких объемах ОЗУ pagefile вообще не нужен. Точнее даже вред будет от него, если система внезапно решит 128Гб ОЗУ на диск скинуть…
Торренты. Ну почему никто не думает о торрентах?
В uTorrent'e можно вручную указать размер оперативки под кэш. 128 мегабайт под дисковый кэш вполне хватает.
Уже больше года юзаю Primo Ramdisk там куча опций по автосохранению содержимого, можно к примеру настроить (по времени, в реальном времени и т.п.)
Подключили в tmpfs папку data у Couchbase, т.к. диски не справлялись с нагрузкой на раздел, когда Couchbase данные по бакетам и реплики на диск писал
> Разве что %TEMP% туда положить для программ которые иначе не умеют.

Ну я вот если бы обнаружил на своем ноуте 128 гигов оперативы, да еще и работающие(не смотря на ограничение материнки в 8 гигов) положил бы туда директорию в которой у меня OpenWRT собирается. Вы представляете себе разницу в сборке когда у тебя все исходники лежат в оперативе по сравнению с хардом? Помню во времена когда сидел на Gentoo монтирование директории в которой все собирается в оперативу вызывало дикий восторг по скорости(пока как-то ОпенОффис, Либры тогда еще не было, не влез и не упал вызвав у меня огорчение). Сейчас компилю только свой сборочку OpenWRT под Beeline SmartBox, были бы 128 гигов рама собирал бы в раме.
Весь разговор был о том, что надо специально туда класть, а потом не забыть перед выключением «забрать» обратно. Впрочем мне уже пояснили, что есть софт пытающийся это автоматизировать.
Вы представляете себе разницу в сборке когда у тебя все исходники лежат в оперативе по сравнению с хардом?

По сравнению с ssd разницы на глаз не видно — все в CPU упирается.
Полно софта который это уже умеет делать, есть например PrimoCache и SuperCache, они кешируют наиболее востребованые ячейки в озу мимо файловой системы, т.е. им не важны файлы. Кеши на основе файлов не могут загнать в кеш файл подкачки или другой крупный файл, например диск виртуалки. А так-же системные области диска.

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

Я лично использую PrimoCache т.к. он свежее, кеширую диск где живут виртуалки. 4гб кеша достаточно что-бы диск не был узким местом при сборке и отладке проекта.
С ходу могу дать парочку вариантов применения:
1) Виртуальные машины. В такой среде можно будет с ними очень быстро работать. Может быть полезно, если все данные будут на рам диске. К примеру, нужно развернуть 10 небольших виртуалок с базами из мастер образа. Там отлично будут себя чувствовать любые базы.
2) Виртуалка или portable программа, запущенная с рам диска, после его отключения не будет оставлять после себя следов. Не нужно заморачиваться с форматированием диска. Да, такой комп намного сложнее изъять если что-то пойдет не так. Его довольно сложно перевезти куда-либо, не потеряв данные. Для кого-то это может стать полезно.
Да, про вариант держать весь образ виртуалки в RAM-диске я вот не подумал. Виртуалка должна выйти просто реактивной, спасибо за интересную идею, как обзаведусь большим количеством RAM сразу попробую. Низкий поклон за идею.
Как-то совсем не впечатляют результаты, для такого супер-компьютера. Подозреваю, что RAM-диски не самые эффективные или тайминги слишком не оптимальные. На моём морально устаревшем компьютере следующие результаты (картинку вставить не могу, извините):

SeqQ32T1 | 6423 | 6154
4K!32T1 | 1067 | 903
Seq | 7773 | 7042
4K | 1208 | 1004

i7-4770, ASRock Z87Pro3, DDR3 798MHz 9-9-9-24
RAM-диск создан бесплатной программой, идущей на диске к материнке (из комплекта A-tuning). Оперативки у меня поменьше, поэтому диск всего 3 гигабайта, но проверял так же на файле в 1 гигабайт.
| что делать если у вас в компьютере 128 гигабайт оперативной памяти
Открывать промо-ссылку в конце статьи. Такое ощущение, что это её рекомендуемые системные требования (я, конечно, многое понял, когда заглянул в исходный код; особенно понял, чего делать не следует…).
А у меня нет винды…

tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
tmpfs /home/semargl/.cache/mozilla/firefox tmpfs defaults 0 0
tmpfs /home/semargl/.cache/thunderbird tmpfs defaults 0 0
UFO just landed and posted this here
С таким объемом можно уже всю ОС загружать в память, включая рабочие программы.
Я слышал эту фразу 10 с лишним лет назад по отношению к XP, когда стали появляться первый двухгиговые плашки.
Кстати да, лично я давно мечтаю. Есть и успешные примеры с Windows 7: https://www.youtube.com/watch?v=Va3PmHZwUtQ
В далеком 2008-ом админил сетку на 30 тонких клиентов и настроил там LTSP/Ubuntu. Т.е. ОС и проги грузились целиком в ОЗУ машинок по сети. И было на тех тонкачах по 2Gb ОЗУ. Работало отлично, но я бы не сказал, что работа ОС из ОЗУ как-то её ускоряла.
Современный SSD, особенно на pci-e интерфейсе, может работать не хуже рамдрайва.
Только недолго. И опять же, проблема создания/удаления 10000 файлов, например. Даже на ССД эта операция очень долгая, а RAM — в мгновение.
а RAM — в мгновение.

обычный рам диск в полной эмуляции работает далеко не мгновение. Даже наоборот, ssd может быть быстрее.
RAM Гораздо быстрее. Там и шина быстрее, и время доступа в тысячи раз быстрее чем SSD.
В тысячи раз?
Можете привести пруфы?

Некоторые могут не подозревать, что перемещение данных из оперативки в оперативку занимает время. И когда говорится о гигабайтах — вполне заметное.

При линейном копировании с SSD на pci-express, разница далеко не в тысячи. И даже не в сотни. И возможно даже не в десятки.
SSD на pci-express пока большая экзотика, и не уверен что сами чипы способны раскрыть даже потенциал самой шины. Пока RAM остаётся самым быстрым внешним компонентом в системе. Скорость линейного чтения практически никогда не становится узким местом, а вот IOPS — практически всегда ограничивают скорость работы. Даже у SSD этот показатель далёк от идеального, а если и есть такой диск способный соревноваться с RAM то стоить он будет как крыло самолёта.
Периодически чищу кэш из мелких файлов на диске — файлов там порядка 10-20 тысяч размером до 16кб, скорость удаления штатными средствами — 10 файлов в секунду на обычном винчестере, немного быстрее на SSD но мгновение на RAM-диске.
Сравните — обычный SSD на SATA 3Гбит/сек и память DDR4 17Гбайт/сек на канал только на линейной скорости чтения, по IOPS-ам даже не сравнимо.
SSD формфактора M2 часто идут как PCI 3.0, и они далеко не экзотика, а сейчас есть в каждом современном компе.
Опять же «самый большой» далеко не всегда сильно востребован. Я вот не вижу, чтобы все устройства наперегонки бежали на USB 3.1, если достаточно 3.0, а для большинства и 2.0.

Опять же, в домашних условиях IOPS не так критичен, поскольку он невысок.

Периодически чищу кэш из мелких файлов на диске — файлов там порядка 10-20 тысяч размером до 16кб, скорость удаления штатными средствами — 10 файлов в секунду на обычном винчестере, немного быстрее на SSD но мгновение на RAM-диске.

Вы знаете, тут очень много факторов может быть. И далеко не все они касаются именно разницы между SSD и RAM диском.

Есть даже вероятность, что я смогу на HDD показать вам приличную скорость удаления, слегка подшаманив.
Форм-фактор ещё не означает скорость, это лишь интерфейс. Скорость SSD в основном определяется скоростью самих чипов, их количеством и контроллером SSD-диска, а интерфейс PCI может только стать узким местом… когда-то. Не так давно 6Гбит SATA только стал узким местом. Но это всё фигня, по прежнему фактором ограничивающим скорость при произвольном доступе к файлам стоит именно IOPS а для работы с файловой системой(операции создания файла, удаления и изменения его размера) требует слишком много операций отчего и SSD и винчестер так тормозят на операциях с мелкими файлами, особенно на NTFS. Операции на FAT32 хотябы кешировать можно с риском разрушения ФС в случае непредвиденного прерывания операции. RAM-диск же обеспечивает максимально возможное IOPS поскольку нет никаких операций ожидания ответа от внешних устройств, шин, контроллеров…
Вы начинаете цепляться к частностям, пытаясь свести свою точку зрения только в одно конкретное место, где RAM имеет преимущество.

Я же вам уже несколько раз поясняю, что современные SSD диски вполне могут оказаться не хуже, причем в большинстве случаев для домашних и не high-end серверов. При этом SSD зачастую удобнее и надежнее, чем RAM в плане работы.

RAM-диск же обеспечивает максимально возможное IOPS поскольку нет никаких операций ожидания ответа от внешних устройств, шин, контроллеров…

Если немного копнуть, то можно обнаружить, что RAM не находится в процессоре, и между процессором и RAM есть шина, и даже контроллер.

особенно на NTFS. Операции на FAT32

Есть и другие файловые системы.
Есть кеширование операций с NTFS.
Есть рейд контроллеры, с памятью на борту, которые могут кешировать операции неважно какая FS

Давайте не выбирать самое неудобное для SSD и самое удобное для Ramdisk.
Никто не спорит, что IOPS у рамдрайва выше, но в очень многих случаях, рамдрайв просто не нужен, и наоборот добавляет головной боли.

У тебя вот проблема — нужно регулярно удалять несколько тысяч файлов. И ramdrive сделал жизнь комфортнее.
У меня такой ситуации нет, но я несколько лет жил с рамдрайвом, на котором был FAR, браузер и торрент. Но при этом каждый раз, когда мне нужно было перегрузиться, это занимало дополнительное время на сохранение данных, вдобавок бэкап этого дела был неудобен. И когда я поставил нормальный M2 SSD и убрал ramdrive я вообще не заметил разницы в скорости, при этом убрался весь головняк.
В конце-концов все операции работы с файлами проходят через RAM, её шину и контроллер. Даже внешний накопитель на RAM-модулях в итоге будет раза в 2 медленнее RAM-диска на системной памяти.
Странный выбор для того что именно держать на RAM-диске, конечно будут неудобства. Особенно в случаях внезапного обесточивания. Там должны быть только данные которые не жалко потерять.
В конце-концов все операции работы с файлами проходят через RAM, её шину и контроллер. Даже внешний накопитель на RAM-модулях в итоге будет раза в 2 медленнее RAM-диска на системной памяти.


С какой стати в два раза медленнее?
Поместить в память из диска — считать с диска, поместить в память.
Поместить в память из другой памяти — считать с памяти, поместить в память.
И там и там две операции. При чтении с диска, операция не учетверяется.
Ну, во-первых, этот диск будет подключен к системе через медленную шину PCI-E, это одно узкое место, во вторых у него будет собственный контроллер(который вынужден обрабатывать запросы и реализовывать очереди исполнения запросов) и прежде чем попасть в системную память данные пройдут через системную шину через DMA, а потом обратно в процессор для обработки. Если учесть что шина памяти, и шина PCI находятся по разные стороны баррикад, будут дополнительные задержки передачи данных. И ладно бы если шина была в эксклюзивном доступе но ведь она используется и другими устройствами в системе, пропускная способность будет несколько меньше. И в тот момент когда наши данные копируются в системную RAM процессор не может забрать данные из RAM, будет ждать. КОпеечка к копеечке и уже получается неприличная задержка.
КОпеечка к копеечке и уже получается неприличная задержка.

При просмотре фильма, задержка в 100 мс на старте — совершенно приличная, и незаметная.
При загрузке игры с кучей данных, разница даже в несколько секунд — совершенно незаметная.
Подгрузка игрового мира в процессе идет фоном, и скорость достаточна.
Почему вы постоянно хотите добиться максимально возможной скорости от устройства? Какую конкретно задачу вы решаете, что вам важны эти 100 мс?
Почему вы считаете, что у абсолютного большинства пользователей ПК стоит такая же задача?
Большинству пользователей ПК пошел бы планшет на андроиде. 100мс на каждую операцию всегда важны где этих операций происходит много. Например, компиляция, файловые кеши… если бы не была важна эта задержка, сидели бы досихпор на кассетных накопителях.
Да, как бы ни были устойчивы современные SSD, ресурс есть ресурс. Если задачи связаны с частой записью на диск, то RAM-диск уместен.
Скорость замерял вчера: запись массива файлов в RAM идет на 50% быстрее, чем в мой GIGABYTE M.2 PCIe SSD. Это весьма заметно и приятно.
Впрочем, конечно на конкретной задаче поддержки работы ОС плюсы RAM-дисков могут не сказаться. Тут нет частой перезаписи массы файлов. Это и было видно на примере тех тонкачей, даже без всяких PCIe.
В качестве RAM диска могу посоветовать SoftPerfect RAM Disk https://www.softperfect.com/products/ramdisk/
Но, к сожалению использовать такой и подобные разделы например как кеш например для StorageSpaces, чтобы ускорить виртуалки не выходит.
Я пробовал разные программы для RAM-дисков, но остановился в итоге на ImDisk Virtual Disk Driver. Он хорош своей универсальностью — позволяет создавать RAM-диски, диски с файлом-образом, монтировать .iso и т.д.

Но он немного хардкорен в плане настроек. Вот как выглядит батник, запускающийся при старте системы (линуксоиды оценят):
imdisk -a -s 256M -m M: -p "/fs:ntfs /v:RAMDISK /A:1024 /q /c /y" -o awe
mkdir M:\IE
mkdir «M:\IE\Temporary Internet Files»

robocopy C:\Customize\Chrome M:\Chrome /MIR


Насчет того, «зачем все это надо, если система сама все кеширует» — запись все равно производится и забивает очередь запросов к HDD. Но после перехода на SSD я уже не ощущаю особых преимуществ.
Благодаря ImDisk приучился делать бекапы дважды в сутки — он у меня периодически портил записанные на него файлы, а примерно раз в пару недель его RAM-диск, на котором были все папки %TEMP%, отваливался, что намертво вешало win10. Думал проблемы с оперативкой, но перешёл на бесплатный же SoftPerfect RAM Disk и всё стало ок, хоть поначалу богатства настроек ImDisk и не хватало.
А на SSD, после долгого использования RAM-диска на 8 Гб, даже переходить не стал — поставил, в работе разницы не заметил и подарил тому, кому он нужнее.
А ещё раньше делали такие штуки Gigabyte i-RAM https://www.youtube.com/watch?v=AM9qUnuxdbk
Когда увидел тесты на играх, подумал, что сравнивается время загрузки, но все оказалось куда интереснее — зачем сравнивать фпс при смене хранилища данных?=) Можно было сменить монитор и посмотреть, стал ли ютуб быстрее работать.
Игры сейчас всё грузят на лету. А во время загрузки игры — только самое основное.
Стриминг в этом случае все равно асинхронный.
Я хочу поделиться своим опытом использования RAM-дисков.
Использую SoftPerfect RAM Disk уже больше года.
Просто копировать фильмы на RAM-диск — это неинтересно.
Полезнее изменить переменные среды окружения, чтобы перенаправить каталоги Windows\TEMP и AppData\...\Local\...\Temp на RAM диск.
Это даст ощутимый прирост производительности и скорости работы некоторых программ, типа архиваторов или Photoshop.
Насколько быстрее стало в цифрах — не знаю, не мерял. Но «ощутимо», раз я заметил )
А что фотошоп в системном Temp-е забыл? Он вроде свои темпы кидает либо прямо в корень scratch disk-а (современные версии), либо создает в корне папку для себя. Соответственно, направлять его на рам-диск следует непосредственно в его (фотошопа) настройках.
Ускорять-то ускоряет, но есть один ньюанс… нужно всегда иметь в виду что в случае архивов нельзя будет распаковать содержимое объёмом больше чем величина RAM-диска, а если он ещё какими-то файлами забит и того меньше. Иногда получишь внезапный облом при очередной распаковке архива.
UFO just landed and posted this here
Тут другая проблема, обновления винды используют темп, и расчитываю на его содержимое после перезагрузки. А RAM-диск сбрасывается, и иногда это приводило к поломке системы, из-за половинного обновления. Не знаю починили ли это. Но желание использовать рам диск отпало. Лучше использовать ССД диск покрытый рам-кешем в режиме отложенной записи (primo-cache например, не реклама). Тогда и ограничения по размеру не будет, просто при превышении начнет писать в ссд.
Автор, ты лучше напиши как танки запускать из ОЗУ и что это поднимает FPS в игре.
вот ссыль: https://habrahabr.ru/post/131043/

Использую RAMDisk Enterprise для кэша браузера. SSD хоть и быстрый, но с рам-диском обращение всё же происходит заметно быстрее.
Кстати да, по тестам это самый быстрый из существующих, раньше назывался RAMDriv-qsoft.
Одно время пользовался рам-диском для майнкрафта, из 6гб оперативы 2 выделил под директорию игры (там была куча модов и огромная открытая карта где-то 15х8 километров, ну и так, плюшки всякие). И, честно сказать. забыл про 80% лагов игры.
Когда обзавелся ссдшником (правда. совсем недорогим и небольшим, 120гб всего. кингстоновский трехсотой серии), «переехал» майнкрафтом на него… и понял, что все-таки разница есть — ССД работает значительно шустрее, чем жестак, но немного (в контексте игры) проигрывает рам-диску, особенно если ССДшник на момент игры подгружался еще обновами винды или какими-то другими задачами.
Жаль, оперативка дороговата. Я бы, наверное, с удовольствием приобрел бы супербыстрый блок энергозависимой памяти гигов эдак на 64-128 за вменяемые деньги (не дороже бакса-двух за гигабайт), пусть даже где-то на уровне ддр3-1333 или даже ддр2-1066, для кэша, тяжелых программ и всяких там рабочих файликов. Ну и играм там место выделить можно.
Ну, по последней вашей фразе: можно купить 2бакса за гиг на ebay б/у память. Чаще, конечно, буферизованная, причем она даже дешевле)
Да, конечно, в обычные материнки много модулей не поставишь, а за такие деньги можно 8гб только взять. Так что нужно смотреть в сторону серваков, если нужно сделать большущий RAM диск.
Да, основной вопрос материнки обычно. Я бы допустим готов 100 баксов выложить только на оперативу, но даже на б\у больше 24гб собрать врядли получится. В самом-самом лучшем случае — 32. В принципе уже интересно, оставить гигов 10 под оперативу и оставшиеся — на рамдиск. Но маловатый объем, конечно, 20Гб это так… пара программок или одна не самая современная (читай жирная) игруха.
Не сочти за рекламу но вот вариант:
http://www.ebay.com/itm/HP-DL385-G7-2x-2-20GHz-12C-AMD-6174-192GB-P410i-256MB-BBWC-No-2-5-HDD-/182156601400?hash=item2a69612838
Если сразу столько памяти не нужно — можно купить только корпус с материнкой и процами. Потом доставлять памяти сколько нужно.
Но, само собой, это не совсем домашний вариант. Кстати, советую этот магаз, сам там иногда закупаюсь.
за магазин спасибо) С ибеем работаю редко, но, что называется, метко.

Да, такой вариантик совсем недомашний… Я бы хотел материнку в обычном форм-факторе АТХ с поддержкой 64-128Гб оперативки, на базе интел, и занедорого.
Но пока что, как показывает мне я.маркет, только материнка новая будет около 500 у.е. стоить. + на сотню-две оперативки + процессор хотя бы уровня свежего i3-i5… И уже получается не очень веселая цифра в тысячу у.е. +- сотня, на апгрейд…
Жаль. что моя теперешняя материнка всего 32гб поддерживает и модули ддр2 8гб имеют нецензурную цену…
Да, такой вариантик совсем недомашний… Я бы хотел материнку в обычном форм-факторе АТХ с поддержкой 64-128Гб оперативки, на базе интел, и занедорого.

Ну, i5/i7 последнего поколения поддерживают только 64гб, старых меньше.
Так что тут ничего не попишешь. Если нужно больше 100гб оперативки — 2х процессорные xeon. Есть серваки в формате миди тауер приблизительно. Можно такие взять. Новое брать слишком дорого, так что б/у с ebay.
Одно не понимаю, зачем нужна такая дорогая память? Можно ведь и дешевле себе подобное удовольствие устроить на 30-40%. Да и пользуюсь одной софтиной, пробовал игрушки с 16гб рамдрайва запускать, игрушка вмещалась в притык. Проблема в том, что в самой игре разница между SSD и рамдрайв была настолько мизерной, что смысла и нет. А вот запуск системы, подготовка к игре отжирает довольно знатно времени (в случае если содержимое диска будет в образ скидываться). В итоге я раздумал брать еще памяти, т.к. не было смысла, вообще и рамдрайв используется только для папки темп, что действительно имеет смысл.
Использую QSoft RAMDrive Enterprise, диск создается на уровне драйвера, без доп софта прямо в диспетчере устройство конфигурируется. очень удобная штука, тоже перенес на него временные папки и профиль браузера
Во времена моей прыщавой молодости, такие решения использовались для запуска множества копий одной программы (в банках было популярно во времена вин 98). Запуск всякого консумерского непотребства это уже за гранью.
Довольно давно использую Primo Ramdisk и на ноутбуках и на десктопах, из плюсов — умеет грузить заранее созданный образ диска при загрузке системы, при этом грузится достаточно рано, чтоб на него можно было забросить и файл подкачки и системный и пользовательский темпы
и умеет работать в компактном режиме, когда память занята настолько, насколько занят диск.
Результаты с Surface Book i7-6600U
— Sequential Read (Q= 32,T= 1): 4017.676 MB/s
Sequential Write (Q= 32,T= 1): 4779.056 MB/s
Random Read 4KiB (Q= 32,T= 1): 737.188 MB/s [179977.5 IOPS]
Random Write 4KiB (Q= 32,T= 1): 672.349 MB/s [164147.7 IOPS]
Sequential Read (T= 1): 6969.002 MB/s
Sequential Write (T= 1): 7791.929 MB/s
Random Read 4KiB (Q= 1,T= 1): 746.423 MB/s [182232.2 IOPS]
Random Write 4KiB (Q= 1,T= 1): 701.395 MB/s [171239.0 IOPS]
Имеет ли смысл хранить кеш (например, кеш видео редактора) на быстрой юсб 3 флешке? Или у неё низкое случайное чтение?
Самая быстрая флешка медленнее самого медленного SSD. И уж точно медленнее RAM-диска. Но время доступа у флешки всяко меньше, чем у обычных жестких дисков. Если вам нужно дешевое решение, можно использовать флешку. Но лучше потратиться и купить SSD под системный диск.
С ноутбуком или макмини это сложнее. Про ссд всё понятно, но тогда придётся городить бороду проводов — ссд в юсб и прочее. Интересно именно как помощь HDD — насколько будет быстрее и насколько медленнее ссд.
> С ноутбуком или макмини это сложнее.

Не знаю как с макмини, там может быть запрещено менять диски и пользователи выполняют приказ, а с ноутами все просто, ставите ssd на место штатного hdd, ставите hdd на место odd и все хорошо. Сам уже три с половиной года именно так и живу. На месте hdd поставлена ssdшка на 90 гигов, вместо odd поставлен жесткий диск. Никаких проблем нет.
Согласен, но это не ответ на мой вопрос.
Юзаю soft perfect ram disk, на windows 7. Создал диск на 8 гигов.
Там лежат %temp% и кэши браузеров. А так же временные логи и объектные файлы, для компиляции.
Неплохо ускорился сёрфинг по интернету, ускорились архиваторы, и зверски разогнался компилятор C++. Тот же boost вместо двух часов, компилируется десяток минут.
К сожалению, прога подглючивает, если надо скинуть на жёсткий диск в образ файла. В какой-то момент, в файле образа, появляется ошибка и его нельзя открыть.
Если бы не этот недостаток, то рабочий проект, перетащил бы на ramdisk и там работал бы.
А так, юзаю, исключительно как временный диск, без бекапов. При перезагрузке очищаеться.
А вот не Мак'ах кто нибудь пробовал? Каким софтом можно воспользоваться и есть ли в этом толк?
Беглый гуглеж дает ответ на ваш вопрос.

hdid -nomount ram://will attach a ram disk that can be mounted and used after being format-
ted with a newfs utility or Disk Utility.app. A sector is 512 bytes.

A small shell script to create and mount a ram disk:

#!/bin/sh

NUMSECTORS=128000
mydev=`hdid -nomount ram://$NUMSECTORS`
newfs_hfs $mydev
mkdir /tmp/mymount
mount -t hfs $mydev /tmp/mymount
Насколько юзабелен этот софт для корпоративного применения? — при старте системы до старта MSSQL монтировать RAM disk, чтобы сиквел располагал tempdb в памяти. После перезапуска ОС или службы сиквела он все равно заполняется новыми данными и его потеря при отказах ничем не грозит.
У меня всего 4 гигабайта, но и мне прелести RAMDisk пригодились: надо было записать небольшое игровое видео в режиме lossless (чтобы не занимать процессор кодированием… процессор тоже древний, FPS сильно страдал), но при этом фризило во времени записи на диск (HDD). Пары гигов RAMDisk на этот научный эксперимент хватило вполне :)
На практике это ускорение видно только на попугаях.
В реальности, даже на SSD с огромной разницей в скоростях (у меня Crucial M550 — 560Mb \ 500Mb & Samsung 950 Pro PCI — 2500 Mb \ 1400 Mb) визуальная разница в работе не видна. Винда с обеих носителей грузится примерно 10 сек (на минуточку, Skylake + 8 Gb DDR4). Линукс — тоже. Более скажу, с NVME даже чуть дольше, не могу понять почему, но вижу что на этапе подгрузки initrd активно юзается жесткий диск.
Далее, экспериментировал с MySQL, перенося таблицы в tmpfs, и делая большие выборки (таблица где-то на 2.5 мл записей). Что на SSD, что в памяти — время выборки одно и то же.

За рамдиск вообще молчу. Ну да, скорость выше. Теперь ваш Google Chrome с жирным кешем будет открываться не за 3 секунды, а за 1. Часто открываете Google Chrome ?)
ИМХО, бутылочное горлышко в другом месте.
Кто-нибудь знает бесплатный или недорогой софт для ram-disk, который позволяет использовать недоступный для 32-битной системы объём RAM (кроме SuperSpeed Ramdisk, который недорогим не считаю)?
Постоянно использую SoftPerfect RAM Disk
Держу там темп и своп.
Windows 7 x64
Два года офисный комп работал с семёркой, полностью живущей в RAM. Делал по этой инструкции: geektimes.ru/post/185172
Каких-либо аварий не припомню, 28 ГБ для винды вполне хватало (всего было 32 ГБ). Удобно. Поломал систему — рестарт и едем дальше :)
«Стоимость RAMDisk не относится к сильным сторонам «проекта». В пересчете на рубль за гигабайт SSD накопитель будет намного выгоднее, чем колоссальный объем оперативной памяти – SSD Kingston KC400 емкостью 128 Gb стоит от 3800 рублей, комплект памяти 128 Gb обойдется в 83 000 рублей.»

Не очень понятно, зачем для рам диска нужно сразу аж 128 gb за тонны денег??
Я много лет пользуюсь SoftPerfect, рам диск у меня всего 640 мегабайт, и там отлично помещается весь браузер с профайлом и FAR с конэму, что позволяет мне закрывать и открывать браузер практически мгновенно (не люблю держать открытым браузер с сотнями вкладок, на которых двигаются какие-то баннеры, гифки и нагружают мне систему, когда я не хочу)
А серфинг, даже если и не намного быстрее (не забываем, что ssd может и медленнее рам, но винда же буферизирует/кешируют операции), но рамдиск однозначно экономит циклы записи на ssd.

Что же касается тестирования скорости — многие рамдиски, в том числе и SoftPerfect могут работать в двух режимах — с полной эмуляцией API диска и без нее. В первом случае они будут видны и для disk manager и для многих утилит тестирования, во втором случае они будут не видны, но скорость чтения/записи возрастает раза в 2-3.
Sign up to leave a comment.