RAMDisks Roundup and testing v2 + Automated install guide - Overclock.net - An Overclocking Community

Forum Jump: 

RAMDisks Roundup and testing v2 + Automated install guide

Thread Tools
post #1 of 12 (permalink) Old 03-01-2014, 07:20 PM - Thread Starter
New to Overclock.net
Brokenstorm's Avatar
Join Date: Apr 2012
Posts: 216
Rep: 42 (Unique: 26)
Welcome to the 2nd edition of RamDisk Testing.

I was curious to see if any of the RamDisk had improved their performance in the last year and if tweaking Windows could improve RamDisk performance. So this time I'll include a short tweaking/automated install guide along with all the same tests that were in the first edition.

I'll not be stripping anything from the install disk but I'll try to tweak and help automate most of the settings that can affect performance. Some of these tweaks will not improve performance by themselves, but they will help get more consistent results. Since this guide will be trying to automate as many thing as possible, each step is dependent on the previous ones. If you're only looking for settings to tweak you should skip the Automated install guide.

Automated install guide
Step 1: Create an Answer File for unattended installation Expand (Click to show)
  1. Dowload and install Windows Automated Installation Kit for Windows 7: http://www.microsoft.com/download/details.aspx?id=5753
  2. Extract the Install.wim file from the \Sources directory of the Windows 7 install disk.
  3. Open the Windows System Image Manager.
  4. In the File menu click Select Windows Image.
  5. Navigate to where you saved Install.wim and click Open, then select the image file you want to install.
  6. Click Yes when prompted to create a catalog file.
  7. In the File menu click New Answer File.

Step 2: Configure the Answer File Expand (Click to show)
*IMPORTANT* If you have more than 1 hard drive do not specify a Disk in the Answer File as there is no guarantee as to the order in which the disks will be listed and the order could change from one run to the next. If you still wish to specify a Disk make sure to disconnect all you other hard drives before installing Windows.

You can now add components to your answer file by right-clicking the desired component in the Windows Image pane and selecting the appropriate configuration pass.
Components for 64bits versions of Windows will start with amd64_ for 32bits version it will be x86_.

Bare Minimum for unattended installation: Expand (Click to show)
To be expended. The WAIK has decent documentation to help you out, at a minimum you should add those components.
Config Pass     Component                                                       Value
windowsPE       Microsoft-Windows-International-Core-WinPE                      InputLocale = en-US
                                                                                SystemLocale = en-US
                                                                                UILanguage = en-US
                                                                                UserLocale = en-US
windowsPE       Microsoft-Windows-International-Core-WinPE\SetupUILanguage      UILanguage = en-US
windowsPE       Microsoft-Windows-Setup\UserData                                AcceptEula = true
windowsPE       Microsoft-Windows-Setup\UserData\ProductKey                     Key = <product key>
                                                                                WillShowUI = OnError
oobeSystem      Microsoft-Windows-International-Core                            InputLocale = en-US
                                                                                SystemLocale = en-US
                                                                                UILanguage = en-US
                                                                                UserLocale = en-US
oobeSystem      Microsoft-Windows-Shell-Setup                                   TimeZone = <timezone>
oobeSystem      Microsoft-Windows-Shell-Setup\OOBE                              HideEULAPage = true
                                                                                HideWirelessSetupInOOBE = true
                                                                                NetworkLocation = <network location>
                                                                                ProtectYourPC = <value>
oobeSystem      Microsoft-Windows-Shell-Setup\UserAccounts\LocalAccounts\LocalAccount
                                                                                Group = Administrators
                                                                                Name = <account name>

Additional Settings Expand (Click to show)
There is a great number of settings that can be changed in the Answer File to configure Windows. I'll try to cover the most interesting ones but you should feel free to add more if you wish. If you need more information use the included documentation, it clearly describe each possible setting.

The packages allow you to configure various Windows features.
  • Foundation: Enables/Disables various Windows features. Equivalent to the Turn Windows features on or off.
  • LocalPack: Enables/Disables the localized Aero theme of the specified region.
  • Product: Enables/Disables Hyper V, Windows Anytime Upgrade, Windows disc burning utility and more.
Config Pass             Component                                               Description
offlineServicing        Microsoft-Windows-LUA-Settings                          Enables/Disables UAC
specialize              Microsoft-Windows-ErrorReportingCore                    Configure Windows Error Reporting
specialize              Microsoft-Windows-RemoteAssistance-Exe                  Configures remote assistance
specialize              Microsoft-Windows-SQMAPI                                Enables/Disables the Windows Customer Experience Improvement Program
specialize              Microsoft-Windows-SystemRestore-Main                    Enables/Disables System Restore
specialize              Security-Malware-Windows-Defender                       Enables/Disables Windows Defender
oobeSystem              Microsoft-Windows-Shell-Setup\FirstLogonCommands        See below
oobeSystem              Microsoft-Windows-WinRE-RecoveryAgent                   Deletes/Installs Windows Recovery Environment

FirstLogonCommands Expand (Click to show)
The FirstLogonCommands is possibly the most useful component. It allows all the tweaking that can be done from the command line to be done unattended. However, since each SynchronousCommand can only execute 1 command it would be better to only have 1 SynchronousCommand which point to a .bat file that has all the commands we want to run.

To do this create a file named FirstRun.cmd which contains the following code and save it in the $OEM$\$$\Setup\Scripts folder. Then create a SynchronousCommand with the CommanLine %WINDIR%\Setup\Scripts\FirstRun.cmd and Order 1. Once that's done save your answer file as autounattend.xml.
for %%i in (b c d e f g h i j k l m n o p q r s t u v w x y z) do (
if exist %%i:\FirstRun\FirstRun.bat %%i:\FirstRun\FirstRun.bat

All that remains to be done it to create FirstRun.bat and then create a bootable iso with all the pieces.

Step 3: FirstRun.bat Expand (Click to show)
This .bat file can contain any number of commands. I'll list some which may interest you along with an example but you can use the .bat file to do anything you could do from the command prompt. If you want to get access to a program or file in the FirstRun folder you must add %~dp0 before its name.

When you're done, create a FirstRun folder and save FirstRun.bat in it along will all the files/programs it calls.
  • Edit command prompt buffer: mode con:cols=140 lines=2500
  • Configure tasks: schtasks /change /tn "\Microsoft\Windows\RemoteAssistance\RemoteAssistanceTask" /disable
  • Configure services: sc config RemoteAccess start= disabled
  • Configure Power plans: powercfg -H OFF, powercfg -IMPORT "%~dp0PowerPlan.pow" SCHEME_MIN
  • Import Security Policy: secedit /configure /db secedit.sdb /cfg "%~dp0secpol.inf"
  • Import Group Policy: xcopy "%~dp0GroupPolicy" %WINDIR%\System32\GroupPolicy /e /y
  • Import Firewall Policy: netsh advfirewall import "%~dp0Policy.wfw"
  • Registry Tweaks: regedit /s "%~dp0tweaks.REG"
  • Cleanup of install files: rd /s /q "%WINDIR%\Panther", rd /s /q "%WINDIR%\Setup"

Step 4: Bootable iso Expand (Click to show)
To create a bootable iso that will run our FirstRun.bat we have to use the Deployment Tools Command Prompt which is included in WAIK and follow these steps.
  1. Extract the default Windows 7 iso to C:\base
  2. Copy $OEM$ folder to C:\base\sources
  3. Copy FirstRun folder to C:\base
  4. Copy autounattend.xml to to C:\base
  5. Launch Deployment Tools Command Prompt and execute the 2 following commands
  6. copype.cmd amd64 C:\wpe
  7. oscdimg -n -m -h -k -bC:\wpe\etfsboot.com C:\base C:\win7x64.iso

Disable unnecessary Services Expand (Click to show)
Automatable: Yes, by using the SC config command you can set service the startup type
Example: sc config RemoteRegistry start= disabled

Disabling some services can decrease the amount of resources Windows uses and slightly boost performance.

Which services can be safely disabled depends on which features you use and listing which you should disable is not the purpose of this guide. There is already a number of guides online to help you in this task. One thing to keep in mind is that disabling service that never run doesn't help performance any and may break things down the road. The one exception to that is disabling a service for security reason (like remote registry).

Below is a picture of the service that were running while I ran the benchmarks. Note that I didn't go for bare-bone settings as it's not representative of what many power users would run on their daily machine.

Disable unnecessary Tasks Expand (Click to show)
Automatable: Yes, by using schtasks /change to disable tasks or schtasks /delete to delete them.
Example: schtasks /change /tn "\Microsoft\Windows\RemoteAssistance\RemoteAssistanceTask" /disable
Windows has a numbers of tasks that can launch in the background, these range from Windows Defender scans and updates to disk defrag and maintenance tasks just to name a few. A task launching while a benchmark is running could affect the results.

You can view all the tasks with Task Scheduler which will also show you the last time each task was launched as well as its triggers and actions. Some tasks have actions that cannot be viewed it the Task Scheduler because they load a dll, to see those you will have to export the task to an xml file and then search the registry for the ClassId.

Once again, listing which tasks you should disable is not the purpose of this guide, unfortunately there is far less information online regarding tasks than there is for services. However you will not crash your PC by disabling every single task though some things might stop working properly.

Below is a picture of the tasks that were active (but not running) during the benchmarks.

Disable CPU core parking Expand (Click to show)
Automatable: Yes, by using the mentioned commands or by importing a modified power plan.
Example: powercfg -IMPORT "%~dp0PowerPlan.pow" SCHEME_MIN
To see if this power setting is enabled on your computer open Resource Monitor. Under the CPU tab on the right hand side it will show you your CPU cores, if any are parked then your CPU supports this power setting. Parked cores wake up relatively quickly and use less power but there are situations where this behavior harms performance and you might want to disable it.

There is a lot of conflicting recommendations on how to disable this new feature of Win7 for core i3/i5/i7. Most of them tell you to edit you registry by setting the ValueMin/ValueMax of the 0cc5b647-c1df-4637-891a-dec35c318583 key to either 0 or 100. Other are less forceful and only suggest to set the attribute flag to 0 or to delete the value to make the setting visible in the Advanced Power Options.
As a rule of thumb I try to avoid modifying the registry unless there is no other way and in this case there is another simpler way which consist on using POWERCFG to manually edit the desired power plans.

There are several undocumented commands for this tool, the one which interest us is -QH which will query all the power settings including the hidden ones (which are the ones we are interested in). The following command will return all the Processor power management settings of the active power plan:

As you can see almost all the Processor power management setting are hidden, the one we are interested in is Processor performance core parking min cores. If we want to disable core parking we can use this command:
Then we use this command to apply the changes immediately.

The only problem is that the names of some settings are incredibly counterintuitive. For example Processor performance core parking min cores specifies the minimum number of unparked cores/packages allowed (in percentage) which you would never guess from the name. Unfortunately the only way to see the description of hidden settings is to read them from the registry.

Other undocumented commands which might be of interest are -RestoreDefaultSchemes which will restore all the power plans to their defaults settings and -ReplaceDefaultSchemes which replaces the default power plans with the current power plans. Both these commands require administrative privileges. Should you decide to start tweaking and deleting power plans be sure not to delete the High performance plan as it is required to perform some tasks by Windows 7 such as running the Windows Experience Index.

Below is a before and after view of process monitor. Notice of half of the cores are parked before the tweak is applied.

Paging File Expand (Click to show)
Automatable: Yes, by using the wmic pagefileset command
  1. Disable the system managed pagefile using this command:
    wmic computersystem where name="%computername%" set AutomaticManagedPagefile=False
  2. Configure the paging file to 1GB using this command:
    wmic pagefileset where name="C:\\pagefile.sys" set InitialSize=1024,MaximumSize=1024

By default Windows sizes the minimum size of the paging file to the amount of RAM in your system. If you have enough RAM to handle the peak System Commit of your system then the paging file will rarely get used if at all and is just wasting space on your boot drive.

The paging file is necessary to capture a crash dump, so if this is important to you do not disable it. Also you should know that the content of the paging file is unencrypted and that you have no control over what Windows will write to the paging file. If that makes you uncomfortable but you want to keep the paging file enabled then you could move the paging file to a volatile RamDisk. If you do then make sure that you use a minimum size of 16 and the maximum size you want, this will let Windows dynamically reclaim some memory from your RamDisk if you run into low memory situations.

Disable Startup Items Expand (Click to show)
Automatable: Not really since there is no undesirable startup programs on a clean install on Windows.

After you've installed all the programs you want you should run autoruns and disable any startup programs you don't want. For example, after you've configured your graphics card setting through the Catalyst Control Center then you could disable it from running at logon. Note that some overclock programs need to reapply their settings after each reboot so don't disable those.

Configure Visual Effects Expand (Click to show)
Automatable: Not to my knowledge, only possible by editing the registry.

Bolow is a picture of the effects that were enabled during the benchmarks.

If you want to see more tweaks read Sean's Windows 7 Install & Optimization Guide for SSDs & HDDs

Brokenstorm is offline  
Sponsored Links
post #2 of 12 (permalink) Old 03-01-2014, 07:21 PM - Thread Starter
New to Overclock.net
Brokenstorm's Avatar
Join Date: Apr 2012
Posts: 216
Rep: 42 (Unique: 26)
RamDisk list
Here are all the RamDisks that I'll test, some haven't been updated since my last tests and they will be used as a reference point to determine if the tweaks had any positive effect.

ArchiCrypt Ramdisk
Source: http://www.archicrypt.de/archicrypt_ultimate_ram_disk.html

Bond Disc
Version: 1.40
Source: http://www.bonddisc.com

Buffalo Ramdisk
Source: http://buffalo.jp/download/driver/memory/ramdisk.html

Dataram RAMDisk
Version: 4.4.0.RC31
Source: http://memory.dataram.com/products-and-services/software/ramdisk

Version: 2.0.9
Source: http://dimmdrive.com

Gilisoft RAMDisk
Version: 6.5.0
Source: http://www.gilisoft.com/product-ramdisk.htm

Gizmo Drive
Version: 2.7.9
Source: http://arainia.com/software/gizmo/overview.php?nID=4

Version: 1.8.5
Source: http://www.ltr-data.se/opencode.html/#ImDisk

Microsoft RAMDisk Storage Driver Sample
Version: 4/2/2014
Source: https://code.msdn.microsoft.com/windowshardware/RAMDisk-Storage-Driver-9ce5f699

Passmark OSFMount
Version: 1.5.1015
Source: http://www.osforensics.com/tools/mount-disk-images.html

Primo Ramdisk Ultimate
Version: 5.6.0
Source: http://www.romexsoftware.com/en-us/primo-ramdisk/download.html

Version: 1.0.0
Source: http://www.iodata.jp/product/soft/speed/ramphantomex

SoftPerfect RAM Disk
Version: 3.4.6
Source: http://www.softperfect.com/products/ramdisk

StarWind RAM Disk
Version: 5.6
Source: http://www.starwindsoftware.com/high-performance-ram-disk-emulator

SuperSpeed RamDisk Plus
Version: 11.8.1301
Source: http://www.superspeed.com/desktop/ramdisk.php

VSuite Ramdisk Server
Version: 4.6.7531.1240
Source: http://www.romexsoftware.com/en-us/vsuite-ramdisk/download.html

WinRamTech (QSoft)
Source: http://winramtech.hostei.com/RAMDriv

Features comparaison

Brokenstorm is offline  
post #3 of 12 (permalink) Old 03-01-2014, 07:21 PM - Thread Starter
New to Overclock.net
Brokenstorm's Avatar
Join Date: Apr 2012
Posts: 216
Rep: 42 (Unique: 26)
reserved for later

Brokenstorm is offline  
Sponsored Links
post #4 of 12 (permalink) Old 03-01-2014, 07:21 PM - Thread Starter
New to Overclock.net
Brokenstorm's Avatar
Join Date: Apr 2012
Posts: 216
Rep: 42 (Unique: 26)
reserved for later

Brokenstorm is offline  
post #5 of 12 (permalink) Old 05-22-2014, 11:25 AM
Dust And Rust
ShadowDragoon's Avatar
Join Date: Aug 2006
Location: Pennsylvania
Posts: 422
Rep: 5 (Unique: 3)
You ah... gonna work on this at some point? >.>

Chaos: Where Great Dreams Are Born

ShadowDragoon is offline  
post #6 of 12 (permalink) Old 08-03-2014, 04:47 PM
New to Overclock.net
unexpectedly's Avatar
Join Date: Oct 2010
Location: San Diego, CA
Posts: 785
Rep: 38 (Unique: 32)
Just installed and tried Dataram's Ramdisk and it caused RapidForm CAD program to crash. Showed such promise too... 1st few successful times RW loaded, I could start editing the file in 20 seconds. When I tried to open a 2nd instance with a reference file (my normal workflow), it would crash at about the 12 second mark... well after it read the file but while rendering the various docked tool windows. Finally, it wouldn't let the program even complete opening a single file. I tried it with windows paging file on, too, just in case that make the software mad.

I put in a support ticket, will update with infos later.

Linux Mint 15 thumb.gif thank the ancient aliens for allowing us a normal linux again - Chris

unexpectedly is offline  
post #7 of 12 (permalink) Old 11-10-2014, 02:19 AM
New to Overclock.net
Join Date: Nov 2014
Posts: 3
Rep: 0
Is this a dead project, or are you still gone do some testing, as i would be interested to see the new results, specially on a more modern system.
Player-x is offline  
post #8 of 12 (permalink) Old 11-27-2014, 07:02 PM - Thread Starter
New to Overclock.net
Brokenstorm's Avatar
Join Date: Apr 2012
Posts: 216
Rep: 42 (Unique: 26)
Apologies for the lack of updates, unfortunately I haven't yet pull the trigger on a X99 build (thanks to 10+$/GB RAM prices) and without it not much would change in the results.

But there are some more things I would to test whenever I get to it.
-IOPS/Gigahertz for random IOs (to test each RamDisk overhead)
-Different filesystems overhead
-Different OSes (7/8.1/10)
-How deleted files are handled (kept on disk or zeroed)

Also I'm looking for a benchmark of a NVMe drive where they test max IO as well as CPU utilization. It would be nice to compare it to a RamDisk.
I'm also looking for a new game, preferably an offline one, with significant load times. Send me a pm if you have any suggestion.
I'll also try to add Dimmdrive to the testing.

Brokenstorm is offline  
post #9 of 12 (permalink) Old 11-28-2014, 12:44 AM
New to Overclock.net
Join Date: Nov 2014
Posts: 3
Rep: 0
Cant wait to see the results.
Player-x is offline  
post #10 of 12 (permalink) Old 03-23-2015, 05:21 AM
New to Overclock.net
Join Date: Nov 2014
Posts: 3
Rep: 0
Still waiting on prices to drop?
Originally Posted by Brokenstorm View Post

Apologies for the lack of updates, unfortunately I haven't yet pull the trigger on a X99 build (thanks to 10+$/GB RAM prices) and without it not much would change in the results.
Maybe you can ask a DDR4 producer to subsidized your memory, by saying that they may use your findings for advertizing purposes.

I am curious if Primo is still one of the best RAMdisks options
Player-x is offline  

Quick Reply

Register Now

In order to be able to post messages on the Overclock.net - An Overclocking Community forums, you must first register.
Please enter your desired user name, your email address and other required details in the form below.
User Name:
If you do not want to register, fill this field only and the name will be used as user name for your post.
Please enter a password for your user account. Note that passwords are case-sensitive.
Confirm Password:
Email Address
Please enter a valid email address for yourself.
Email Address:


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page

Forum Jump: 

Posting Rules  
You may post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off