2010-12-02 3 views
0

Это не обязательно вопрос программирования, но я столкнулся с узким местом производительности с дисковым IO, и я бы хотел попробовать писать и читать из ОЗУ вместо жесткого диска. Я хочу создать свой файл в ОЗУ, а затем запустить приложение против него.Как создать RAM-диск в Windows 7 (Windows 2008 R2)?

Существует множество инструментов для создания RAM-дисков. Ни один из них не работает для Windows 2008 R2. Кто-нибудь знает, возможно ли это, и если да, то как. Кто-нибудь знает инструмент, который работает?

+1

Могу я предложить serverfault.com? – Nate 2010-12-02 16:39:32

ответ

1

В итоге я нашел и использовал Vsuit Ramdisk (Server Edition). Он отлично работает, но не свободен.

2

Используйте Memory-Mapped Files, чтобы отобразить файл в ОЗУ (включая память, сохраненную в файле подкачки, если она большая, поэтому будьте осторожны).

отображения файла является объединением их содержимого файла с частью виртуального адресного пространства процесса. Система создает сопоставление файлов объект (также известный как раздел объект) для поддержания этой связи. Вид файла представляет собой часть виртуального адресного пространства, которое процесс использует для , для доступа к содержимому файла. Отображение файла позволяет использовать как случайные входные и выходные данные (I/O), так и . Он также позволяет процессу работать эффективно с большим файлом данных , например с базой данных , без необходимости сопоставлять весь файл в память.

+0

У меня нет большого контроля над чтением/записью файла. Я использую несколько баз данных SQL CE и то, как microsoft делает сопоставление файлов, которые я не знаю. Если бы я мог создать драйвер ram, я бы просто создал базы данных SQL CE в своем RAM-драйвере, и я бы установил. В любом случае, чтобы создать RAM-диск в Windows 2008 R2? – Mark 2010-12-02 17:13:29

1

какой-либо дисковый диск, который вы выбираете для покупки или записи, помните, проверяет, отвечает ли драйвер дискового устройства SetDispositionInformationFile call.

Смежные вопросы