NOTE: RAM disks by their very nature are cleared on reboot. Do not use them to store any data that cannot be lost. A suitable use case would be temporary session files for a web server
Installing iSCSI Target Server
- Launch Server Manager if it does not automatically load
- Click the Start button > Server Manager
- Click Manage > Add roles and features
- Click Next on the Before you begin screen
- Select Role-based or feature-based installation > Next
- Leave Select a server from the server pool selected and select the current server > Next
- Expand File and Storage Services > Expand File and iSCSI Services > Select iSCSI Target Server
- A popup will appear with additional required roles and features, click the Add Features button
- Click Next
- Click Next on the Select features screen
- Click Install on the confirmation screen
- Leave the installation progress screen open until the install completes
Creating the RAM Disk
- Launch Powershell as administrator
- Enter the following commands to create the RAM disk, replacing the IP address with the current server’s IP address
# allow iSCSI loopback registry setting
Set-ItemProperty -Path ‘HKLM:SOFTWAREMicrosoftiSCSI Target’ -Name AllowLoopBack -Value 1
# start the iscsi initiator service
Start-Service -Name MSiSCSI
# set the iscsi initiator service to start automatically
Set-Service -Name MSiSCSI -StartupType Automatic
# create the ram disk, changing size as needed
New-IscsiVirtualDisk -Path «ramdisk:RAMDisk.vhdx» -Size 256MB
# initialize iSCSI target
New-IscsiServerTarget -TargetName RAMDisk -InitiatorIds @(«IPAddress:192.168.0.65»)
# connect to the ram disk
Add-IscsiVirtualDiskTargetMapping -TargetName RAMDisk -DevicePath «ramdisk:RAMDisk.vhdx» - Back in Server Manager, select Tools > iSCSI Initiator
- Enter the IP address in the Target field > Click Quick Connect…
- Click Done
- Back in Powershell, run the following command
# initialize the disk as NTFS
Get-Disk | Where partitionstyle -eq ‘raw’ | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -DriveLetter R -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel «RAMDisk» -Confirm:$false - Open File Explorer and the new RAM disk should be listed as a usable NTFS drive
Re-creating the RAM Disk on Boot
After the RAM disk has been setup initially, follow the steps below to have it recreated on system boot.
- Open a text editor
- Paste the following Powershell commands, changing the size as needed
New-IscsiVirtualDisk -Path «ramdisk:RAMDisk.vhdx» -Size 256MB
Add-IscsiVirtualDiskTargetMapping -TargetName RAMDisk -DevicePath «ramdisk:RAMDisk.vhdx»
Get-Disk | Where partitionstyle -eq ‘raw’ | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -DriveLetter R -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel «RAMDisk» -Confirm:$false - Save the file as ramdisk.ps1 to a safe location to run from, c:scripts for example
- Click on the Start Button > Type task > Launch Task Scheduler
- Right click the Task Scheduler Library folder in the left pane > Create Basic Task…
- Set the name to RAM Disk and optionally set a Description > Click Next
- For the Trigger, select When the computer starts > Click Next
- For the Action, select Start a program > Click Next
- In the Program/script field, paste the following:
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe
- In the Add arguments field, paste the following, editing the path to the .ps1 file if necessary:
«C:Scriptsramdisk.ps1»
- Click Next
- Check the Open the Properties dialog for this task when I click Finish box
- Click Finish
- In the Properties dialog, click the Change User or Group… button
- Type system > Press Enter
- Check the Run with highest privileges box
- Click OK to create the scheduled task
- Reboot the server to verify the RAM disk is re-created automatically
How To, i12bretro, iSCSI, Microsoft, PowerShell, RAM Disk, Tutorial, Windows, Windows Server, Windows Server 2012, Windows Server 2016, Windows Server 2019, Windows Server 2022
February 20, 2022February 27, 2022
2 Minutes
View interactive steps on GitHub
NOTE: RAM disks by their very nature are cleared on reboot. Do not use them to store any data that cannot be lost. A suitable use case would be temporary session files for a web server
Installing iSCSI Target Server
- Launch Server Manager if it does not automatically load
- Click the Start button > Server Manager
- Click Manage > Add roles and features
- Click Next on the Before you begin screen
- Select Role-based or feature-based installation > Next
- Leave Select a server from the server pool selected and select the current server > Next
- Expand File and Storage Services > Expand File and iSCSI Services > Select iSCSI Target Server
- A popup will appear with additional required roles and features, click the Add Features button
- Click Next
- Click Next on the Select features screen
- Click Install on the confirmation screen
- Leave the installation progress screen open until the install completes
Creating the RAM Disk
- Launch Powershell as administrator
- Enter the following commands to create the RAM disk, replacing the IP address with the current server’s IP address
# allow iSCSI loopback registry setting
Set-ItemProperty -Path ‘HKLM:SOFTWAREMicrosoftiSCSI Target’ -Name AllowLoopBack -Value 1
# start the iscsi initiator service
Start-Service -Name MSiSCSI
# set the iscsi initiator service to start automatically
Set-Service -Name MSiSCSI -StartupType Automatic
# create the ram disk, changing size as needed
New-IscsiVirtualDisk -Path «ramdisk:RAMDisk.vhdx» -Size 256MB
# initialize iSCSI target
New-IscsiServerTarget -TargetName RAMDisk -InitiatorIds @(«IPAddress:192.168.0.65»)
# connect to the ram disk
Add-IscsiVirtualDiskTargetMapping -TargetName RAMDisk -DevicePath «ramdisk:RAMDisk.vhdx» - Back in Server Manager, select Tools > iSCSI Initiator
- Enter the IP address in the Target field > Click Quick Connect…
- Click Done
- Back in Powershell, run the following command
# initialize the disk as NTFS
Get-Disk | Where partitionstyle -eq ‘raw’ | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -DriveLetter R -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel «RAMDisk» -Confirm:$false - Open File Explorer and the new RAM disk should be listed as a usable NTFS drive
Re-creating the RAM Disk on Boot
After the RAM disk has been setup initially, follow the steps below to have it recreated on system boot.
- Open a text editor
- Paste the following Powershell commands, changing the size as needed
New-IscsiVirtualDisk -Path «ramdisk:RAMDisk.vhdx» -Size 256MB
Add-IscsiVirtualDiskTargetMapping -TargetName RAMDisk -DevicePath «ramdisk:RAMDisk.vhdx»
Get-Disk | Where partitionstyle -eq ‘raw’ | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -DriveLetter R -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel «RAMDisk» -Confirm:$false - Save the file as ramdisk.ps1 to a safe location to run from, c:scripts for example
- Click on the Start Button > Type task > Launch Task Scheduler
- Right click the Task Scheduler Library folder in the left pane > Create Basic Task…
- Set the name to RAM Disk and optionally set a Description > Click Next
- For the Trigger, select When the computer starts > Click Next
- For the Action, select Start a program > Click Next
- In the Program/script field, paste the following:
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe
- In the Add arguments field, paste the following, editing the path to the .ps1 file if necessary:
«C:Scriptsramdisk.ps1»
- Click Next
- Check the Open the Properties dialog for this task when I click Finish box
- Click Finish
- In the Properties dialog, click the Change User or Group… button
- Type system > Press Enter
- Check the Run with highest privileges box
- Click OK to create the scheduled task
- Reboot the server to verify the RAM disk is re-created automatically
Published
February 20, 2022February 27, 2022
A RAM disk is a virtual disk created in a free area of the memory (RAM) that it sees by the OS as a separate physical disk. Due to the RAM disk being stored in the fast RAM, all read/write operations on this disk are performed almost instantaneously, even faster than when using an SSD (the data transfer speed of the most productive SSDs is about 560 MB/s, while DDR4 memory – 12,000-25,000 MB/s.)
It is recommended to use a RAM disk in systems with an excess of free memory. You can use the RAM disk to place the cache or temporary files of apps/system, temporary SQL databases. Thus you can achieve a significant increase in the applications and databases performance.
In Windows OS, there are no integrated tools to create RAM disks, so you have to use third-party software to do it (AMD RAMDisk, ImDisk, PassMark OSFMount, StarWind RAM Disk, etc.).
However, you can create a RAM disk in Windows Server without using any third-party apps. To do it, you can use the iSCSI driver.
First, install the iSCSI Target Server component (it is the part of the File and Storage Services role).
If you have Windows Firewall enabled, you must allow iSCSI Service traffic.
To allow traffic to the loopback interface for iSCSI, change the value of the DWORD parameter AllowLoopBack to 1 in the HKLMSoftwareMicrosoftiSCSI Target registry key. You can change the registry parameter from PowerShell using a single command:
Set-ItemProperty -Path 'HKLM:SOFTWAREMicrosoftiSCSI Target' -Name AllowLoopBack -Value 1
Now open the PowerShell console and create a 5 GB virtual RAM disk using this command:
New-IscsiVirtualDisk -Path "ramdisk:testRAM.vhdx" -Size 5GB
Now you need to create an iSCSI target pointing to the IP address of your server (not localhost!):
New-IscsiServerTarget -TargetName targetRAMDisk -InitiatorIds @("IPAddress:10.1.1.200")
Connect the RAM disk to the created iSCSI target:
Add-IscsiVirtualDiskTargetMapping -TargetName targetRAMDisk -DevicePath "ramdisk:testRAM.vhdx"
Run the iSCSI Initiator management console through Server Manager.
Specify the IP address of your server in the Targets tab and click Quick Connect to add your iSCSI target.
You can connect the iSCSI Target with the command:
Get-IscsiTarget | Connect-IscsiTarget
Open the Disk Management console and make sure that the new 5 GB disk appeared there. This is the RAM disk we created. Initialize the disk, create a partition and format it. Assign a disk letter to it.
You can initialize a RAM disk and assign it a drive letter using the PowerShell cmdlets from the built-in disk and partition management module Storage with a following one-liner:
Get-Disk | Where partitionstyle -eq 'raw' | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "disk2" -Confirm:$false
Now you can move app files to the RAM disk and reconfigure your software to use it.
After rebooting the server, the RAM disk is removed with all its contents and you will have to re-create it again.
Some third-party programs that create RAM disks allow saving RAM disk data as a file on your hard drive. When the system is restarted, the data are extracted and moved to the RAM disk.
To remove your RAM disk, use the following commands:
Remove-IscsiVirtualDiskTargetMapping -TargetName targetRAMDisk -DevicePath "ramdisk:testRAM.vhdx"
Remove-IscsiServerTarget -TargetName targetRAMDisk
Remove-IscsiVirtualDisk -Path "ramdisk:testRAM.vhdx"
#1
FelipeRolim
- LocationQuatiguá/Paraná/Brazil
Posted 08 November 2018 — 02:21 PM
Hello guys. After I spent a lot of time trying to make my dedicated computer work with RAMdisk, I finally managed to succeed in this endeavor. As I tried many different paths, I wrote down everything so that I had some «extra» information when I finally got it, and also to have a guide in case I had to do it again. Well, I didn’t have to do it again, hehe, but I hope the information I wrote down as «definitive» in terms of functioning is actually correct and helpful to colleagues in the forum. As I am Brazilian and I wrote the text originally in Portuguese, I spent some time transcribing it into English, so that it is possible to share with colleagues of this forum. I think it’s valid, because it really was very difficult to get it for the first time.
For those who don’t know, RAMdisk is one of the most high-performance methods for audiophiles in the world, and although I’ve never read anything about it in this forum and only have a personal friend who has tested before me, I’ve read a lot, a lot , much information in international scope, where it seems that the theme is more evolved. Reducing latency and high throughput is only a small part of the benefits. If that weren’t enough, I’ve never heard any «original» setup, with SSD, SD card, M.2, or anything else, that delivers audio quality as good as RAMdisk. For me, it’s the best, but what I don’t know is if there are different RAM models that deliver different sonorities (Corsair vs. Kingston; Kingston vs. Crucial; Corsair vs. GSkill; e.g.).
To make it easier for me and my colleagues, I created a PDF file that can be downloaded, because the text is large and I also attached some images to make the complicated parts more enlightening.
Finally, I remind colleagues that although there are Windows software that makes RAMdisk easily, they only allow a very limited part of RAM to be defined as storage, and they don’t allow the operating system itself to be installed or loaded on it. The guide I’ve tried to create effectively causes 100% of the operating system to go to RAM and run from it.
Here is a working video:
Attached Files
- mtan002, ho5456, XRumerTest and 9 others like this
— Speakers KEF Reference 203/2 with spikes;
— Schiit Freya preamp. (with Electro-Harmonix 6SN7 Gold-Pin tubes and Synergistic Research Orange Fuse) and Audio Research VS115 (with Tung-Sol KT120 and Svetlana 6H30 tubes and AMR Gold Fuse);
— DAC Ayre QB-9 192/24 + Furutech FI-03 ( R) + Synergistic Research Orange Fuse;
— Digital transport: the Control-PC is a dedicated computer with a Gigabyte H310N motherboard, a Intel Core i3-8100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and 1TB Samsung 850 Pro SSD; the Audio-PC is a dedicated computer with a Gigabyte H310M M.2 2.0 motherboard, a Intel Core i3-9100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and a JCAT USB Card FEMTO. Both computers use Windows Server 2019 Datacenter Core Mode (17763.737) with RAMdisk as Operational System, JPLAY FEMTO Alternative version, Minority Clean and Audiophile Optimizer v. 3.00 (1A in Control-PC and 4D in Audio-PC). Both also use hand made linear power supplies with a Furutech FI-06 ( R) NCF.
— Cables: Nordost Tyr (speaker), Nordost Valhalla XLR and Siltech 770i XLR (interconnects), Curious Evolved USB Cable, Nordost Valhalla Power Cable (DAC), Transparent PowerLink MM2 (power amp.), 2 x Purist Audio Design Canorus Praesto Revision Power Cable (power distributor and computers), Purist Audio Design Limited Edition Praesto Revision Power Cable (preamp.) and Jupiter Pure Silver Cotton Insulated (all internal wires from the computers).
— Acessories: Furutech GTX-D (G); Furutech GTX-D ( R) (x2); Sunrise Deep Line (x3); ebony spikes, carbon fiber bases; Nordost Qv2 (x3); acoustical and electrical reinforcements.
- Back to top
#2
taxman2
taxman2
- LocationSofia, Bulgaria
Posted 08 November 2018 — 03:37 PM
But this apply only if your library is stored inside the computer. On the same drive as Windows or could be on other drives inside the computer? Somehow I could not get it right.
Furman Elite 10i (power conditioner), JPlay Femto, Audiophile Optimizer, Process Lasso Pro, Fidelizer Pro, 2 x fanless mini PC, Control PC — WS 2019 core -16GB RAM, Audio PC — WS 2019 core 8GB RAM, JCAT USB Card, 2 x JCAT Femto Net Cards, 3 x 100VA Ultra Low Noise LPS, JCAT Isolator, SU-1 with external LPS, Gustard X-20 (modified), Audia Flight Pre Mk III (dual mono class A preamp), Audia Flight FL50 Mk IV(dual mono class A amplifier), Focal Electra 1008BE;
- Back to top
#3
Marcin_gps
Marcin_gps
-
- Administrators
-
- 4,090 posts
JPLAY & JCAT Founder
Posted 08 November 2018 — 03:52 PM
Thanks for sharing
Follow my hi-fi journey on YouTube
JPLAY FEMTO: a complete network music software player for the most demanding audiophile.
Want to squeeze more from your PC-audio? Hear the difference with JCAT
- Back to top
#4
FelipeRolim
FelipeRolim
- LocationQuatiguá/Paraná/Brazil
Posted 08 November 2018 — 03:54 PM
taxman2, this applies in any case. If your library is stored inside the computer, on the same drive as Windows, you’ll obtain reading exclusivity. If your library is stored inside the computer, but on another drive, you’ll obtain less SATA controllers usage. If your library is stored outside the computer, you’ll obtain no SATA controllers usage. In any case you gain sound quality. In my experience, it’s not only use or not to use SATA controllers.The less you use, the better. So, for Audio-PC, no SATA connections are necessary (perfect context), but, for Control-PC, if music files are stored on an SSD, you still gain some quality by removing at least one SSD (where Windows is installed).
I accidentally heard this when I removed one SSD (120GB) from my dedicated computer, leaving only an 1TB SSD, and the sound quality improved a little. I always used an audiophile SATA cable (Audiopheeling Statement) and a SOtM SATA filters. So, although the dedicated cable and the filter improves sound quality (a lot!), by removing cable and drive, the sound improves a little bit more. By removing all internal drives and disabling SATA connections, the sound goes to another level of quality. This I only did on Audio-PC. Control-PC is still not as improved. Even so, the gain does exist.
PS.: as my computer stays connected 24 hours a day, I load the Windows from the pendrive to the RAM, and then I remove the pendrive and replace it with an USB filter (I have one in each of the available ports). The computer therefore has no SATA connections, USB connections (other than the DAC, provided by the dedicated USB card), video connections, and nothing that isn’t strictly necessary. Only three cables are connected to it: power, network and USB. The performance is far superior so, and still reduce the cost of the SATA cable and the SATA filter (only for Audio-PC).
Edited by FelipeRolim, 09 November 2018 — 02:57 PM.
- peter.imrich likes this
— Speakers KEF Reference 203/2 with spikes;
— Schiit Freya preamp. (with Electro-Harmonix 6SN7 Gold-Pin tubes and Synergistic Research Orange Fuse) and Audio Research VS115 (with Tung-Sol KT120 and Svetlana 6H30 tubes and AMR Gold Fuse);
— DAC Ayre QB-9 192/24 + Furutech FI-03 ( R) + Synergistic Research Orange Fuse;
— Digital transport: the Control-PC is a dedicated computer with a Gigabyte H310N motherboard, a Intel Core i3-8100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and 1TB Samsung 850 Pro SSD; the Audio-PC is a dedicated computer with a Gigabyte H310M M.2 2.0 motherboard, a Intel Core i3-9100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and a JCAT USB Card FEMTO. Both computers use Windows Server 2019 Datacenter Core Mode (17763.737) with RAMdisk as Operational System, JPLAY FEMTO Alternative version, Minority Clean and Audiophile Optimizer v. 3.00 (1A in Control-PC and 4D in Audio-PC). Both also use hand made linear power supplies with a Furutech FI-06 ( R) NCF.
— Cables: Nordost Tyr (speaker), Nordost Valhalla XLR and Siltech 770i XLR (interconnects), Curious Evolved USB Cable, Nordost Valhalla Power Cable (DAC), Transparent PowerLink MM2 (power amp.), 2 x Purist Audio Design Canorus Praesto Revision Power Cable (power distributor and computers), Purist Audio Design Limited Edition Praesto Revision Power Cable (preamp.) and Jupiter Pure Silver Cotton Insulated (all internal wires from the computers).
— Acessories: Furutech GTX-D (G); Furutech GTX-D ( R) (x2); Sunrise Deep Line (x3); ebony spikes, carbon fiber bases; Nordost Qv2 (x3); acoustical and electrical reinforcements.
- Back to top
#5
FelipeRolim
FelipeRolim
- LocationQuatiguá/Paraná/Brazil
Posted 08 November 2018 — 04:22 PM
Another thing: as your Windows will be installed on a virtual disk (.vhd file), you won’t need to format the computer anymore. If you want to try different things and adjustments, it’s only make a copy of the original .vhd file and perpetuates it. Here I did it, and have a backup file stored on a well secured external drive. If pen drive crashes, e.g., I have a perfect copy stored.
— Speakers KEF Reference 203/2 with spikes;
— Schiit Freya preamp. (with Electro-Harmonix 6SN7 Gold-Pin tubes and Synergistic Research Orange Fuse) and Audio Research VS115 (with Tung-Sol KT120 and Svetlana 6H30 tubes and AMR Gold Fuse);
— DAC Ayre QB-9 192/24 + Furutech FI-03 ( R) + Synergistic Research Orange Fuse;
— Digital transport: the Control-PC is a dedicated computer with a Gigabyte H310N motherboard, a Intel Core i3-8100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and 1TB Samsung 850 Pro SSD; the Audio-PC is a dedicated computer with a Gigabyte H310M M.2 2.0 motherboard, a Intel Core i3-9100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and a JCAT USB Card FEMTO. Both computers use Windows Server 2019 Datacenter Core Mode (17763.737) with RAMdisk as Operational System, JPLAY FEMTO Alternative version, Minority Clean and Audiophile Optimizer v. 3.00 (1A in Control-PC and 4D in Audio-PC). Both also use hand made linear power supplies with a Furutech FI-06 ( R) NCF.
— Cables: Nordost Tyr (speaker), Nordost Valhalla XLR and Siltech 770i XLR (interconnects), Curious Evolved USB Cable, Nordost Valhalla Power Cable (DAC), Transparent PowerLink MM2 (power amp.), 2 x Purist Audio Design Canorus Praesto Revision Power Cable (power distributor and computers), Purist Audio Design Limited Edition Praesto Revision Power Cable (preamp.) and Jupiter Pure Silver Cotton Insulated (all internal wires from the computers).
— Acessories: Furutech GTX-D (G); Furutech GTX-D ( R) (x2); Sunrise Deep Line (x3); ebony spikes, carbon fiber bases; Nordost Qv2 (x3); acoustical and electrical reinforcements.
- Back to top
#6
taxman2
taxman2
- LocationSofia, Bulgaria
Posted 08 November 2018 — 05:16 PM
I think, I will skip this. I have 2 headless mini PCs, fully optimized (AO,PL,Fidelizer) with minimum processes running and the SQ rocks.
Furman Elite 10i (power conditioner), JPlay Femto, Audiophile Optimizer, Process Lasso Pro, Fidelizer Pro, 2 x fanless mini PC, Control PC — WS 2019 core -16GB RAM, Audio PC — WS 2019 core 8GB RAM, JCAT USB Card, 2 x JCAT Femto Net Cards, 3 x 100VA Ultra Low Noise LPS, JCAT Isolator, SU-1 with external LPS, Gustard X-20 (modified), Audia Flight Pre Mk III (dual mono class A preamp), Audia Flight FL50 Mk IV(dual mono class A amplifier), Focal Electra 1008BE;
- Back to top
#7
FelipeRolim
FelipeRolim
- LocationQuatiguá/Paraná/Brazil
Posted 08 November 2018 — 05:43 PM
The only requirement is to have 16GB of RAM (8GB for load the SO and 8GB free for the rest). You don’t need to format anything, can maintain all of your data, because it’s just install everything directly on the pendrive and compare. Disabling SATA controllers is the worst task of the entire process. Probably you’ll need a monitor. At the and, hope everyone enjoy it and I await a feedback of the results.
PS.: I added to the initial post the results of the benchmark tests I did.
— Speakers KEF Reference 203/2 with spikes;
— Schiit Freya preamp. (with Electro-Harmonix 6SN7 Gold-Pin tubes and Synergistic Research Orange Fuse) and Audio Research VS115 (with Tung-Sol KT120 and Svetlana 6H30 tubes and AMR Gold Fuse);
— DAC Ayre QB-9 192/24 + Furutech FI-03 ( R) + Synergistic Research Orange Fuse;
— Digital transport: the Control-PC is a dedicated computer with a Gigabyte H310N motherboard, a Intel Core i3-8100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and 1TB Samsung 850 Pro SSD; the Audio-PC is a dedicated computer with a Gigabyte H310M M.2 2.0 motherboard, a Intel Core i3-9100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and a JCAT USB Card FEMTO. Both computers use Windows Server 2019 Datacenter Core Mode (17763.737) with RAMdisk as Operational System, JPLAY FEMTO Alternative version, Minority Clean and Audiophile Optimizer v. 3.00 (1A in Control-PC and 4D in Audio-PC). Both also use hand made linear power supplies with a Furutech FI-06 ( R) NCF.
— Cables: Nordost Tyr (speaker), Nordost Valhalla XLR and Siltech 770i XLR (interconnects), Curious Evolved USB Cable, Nordost Valhalla Power Cable (DAC), Transparent PowerLink MM2 (power amp.), 2 x Purist Audio Design Canorus Praesto Revision Power Cable (power distributor and computers), Purist Audio Design Limited Edition Praesto Revision Power Cable (preamp.) and Jupiter Pure Silver Cotton Insulated (all internal wires from the computers).
— Acessories: Furutech GTX-D (G); Furutech GTX-D ( R) (x2); Sunrise Deep Line (x3); ebony spikes, carbon fiber bases; Nordost Qv2 (x3); acoustical and electrical reinforcements.
- Back to top
#8
Thuan
Thuan
- LocationSouth Bay Area
Posted 08 November 2018 — 06:49 PM
Thank you Felipe for your contributions to the forum.
- FelipeRolim likes this
WS2019 core, AO3 (1A/2D), JPLAY/JCAT XE/iOS, ES/TC, Xeon CPU, Industrial ECC RAM, Gustard X26, Singxer SU6, Linkwitz Pluto 2.1+
- Back to top
#9
moriez
Posted 09 November 2018 — 07:07 AM
The only requirement is to have 16GB of RAM (8GB for load the SO and 8GB free for the rest).
Hi Felipe and many thanks for the guide.
Do you think there’s any way around this requirement? I’m using an Intel NUC that takes 8GB max internal RAM.
- Back to top
#10
FelipeRolim
FelipeRolim
- LocationQuatiguá/Paraná/Brazil
Posted 09 November 2018 — 11:47 AM
Hi Felipe and many thanks for the guide.
Do you think there’s any way around this requirement? I’m using an Intel NUC that takes 8GB max internal RAM.
Hello moriez. I’m afraid that with 8GB you won’t be able to make RAMdisk, unless you find an ultra-light Windows. I’ve verified that Windows Server 2016 Core has approximately 7.5GB and Windows Server 2016 GUI approximately 11GB. Both still use 500MB of memory for basic operation. To get a RAMdisk of 100% of the drive, you must have at least 12GB of RAM.
I’d like to remind colleagues that I didn’t try to redo the whole process. So, I don’t know if it works from beginning to the end without intercurrencies. Please, if anyone tries, give us a feedback. I’d like to know if it really works, but especially what do you think about sound using RAMdisk.
- moriez likes this
— Speakers KEF Reference 203/2 with spikes;
— Schiit Freya preamp. (with Electro-Harmonix 6SN7 Gold-Pin tubes and Synergistic Research Orange Fuse) and Audio Research VS115 (with Tung-Sol KT120 and Svetlana 6H30 tubes and AMR Gold Fuse);
— DAC Ayre QB-9 192/24 + Furutech FI-03 ( R) + Synergistic Research Orange Fuse;
— Digital transport: the Control-PC is a dedicated computer with a Gigabyte H310N motherboard, a Intel Core i3-8100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and 1TB Samsung 850 Pro SSD; the Audio-PC is a dedicated computer with a Gigabyte H310M M.2 2.0 motherboard, a Intel Core i3-9100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and a JCAT USB Card FEMTO. Both computers use Windows Server 2019 Datacenter Core Mode (17763.737) with RAMdisk as Operational System, JPLAY FEMTO Alternative version, Minority Clean and Audiophile Optimizer v. 3.00 (1A in Control-PC and 4D in Audio-PC). Both also use hand made linear power supplies with a Furutech FI-06 ( R) NCF.
— Cables: Nordost Tyr (speaker), Nordost Valhalla XLR and Siltech 770i XLR (interconnects), Curious Evolved USB Cable, Nordost Valhalla Power Cable (DAC), Transparent PowerLink MM2 (power amp.), 2 x Purist Audio Design Canorus Praesto Revision Power Cable (power distributor and computers), Purist Audio Design Limited Edition Praesto Revision Power Cable (preamp.) and Jupiter Pure Silver Cotton Insulated (all internal wires from the computers).
— Acessories: Furutech GTX-D (G); Furutech GTX-D ( R) (x2); Sunrise Deep Line (x3); ebony spikes, carbon fiber bases; Nordost Qv2 (x3); acoustical and electrical reinforcements.
- Back to top
#11
FelipeRolim
FelipeRolim
- LocationQuatiguá/Paraná/Brazil
Posted 10 November 2018 — 06:07 PM
I’ve tested the entire process twice yesterday, one for Windows Server 2016 Standard Core and one for Windows Server 2016 Standard GUI. It worked perfectly. For Core it took 8GB, and for GUI it took 14GB. The Core mode still uses 500MB of RAM to run and the GUI uses 1GB. I intended to use the 2016 Server Standard GUI for Control PC with RAMdisk, but without the Audiophile Optimizer. Unfortunately, only a small RAM remained free so I went back to Windows Server by SSD. I left a mixed-use Windows 10 (study, work, and music) for an exculsive Windows Server 2016 Standard. Another sensitive gain came through the speakers.
I don’t want to waste an Audiophile Optimizer licence with the notebook. So I’ll reserve it for the future dedicated computer, which will pair with the Audio-PC.
- motberg and moriez like this
— Speakers KEF Reference 203/2 with spikes;
— Schiit Freya preamp. (with Electro-Harmonix 6SN7 Gold-Pin tubes and Synergistic Research Orange Fuse) and Audio Research VS115 (with Tung-Sol KT120 and Svetlana 6H30 tubes and AMR Gold Fuse);
— DAC Ayre QB-9 192/24 + Furutech FI-03 ( R) + Synergistic Research Orange Fuse;
— Digital transport: the Control-PC is a dedicated computer with a Gigabyte H310N motherboard, a Intel Core i3-8100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and 1TB Samsung 850 Pro SSD; the Audio-PC is a dedicated computer with a Gigabyte H310M M.2 2.0 motherboard, a Intel Core i3-9100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and a JCAT USB Card FEMTO. Both computers use Windows Server 2019 Datacenter Core Mode (17763.737) with RAMdisk as Operational System, JPLAY FEMTO Alternative version, Minority Clean and Audiophile Optimizer v. 3.00 (1A in Control-PC and 4D in Audio-PC). Both also use hand made linear power supplies with a Furutech FI-06 ( R) NCF.
— Cables: Nordost Tyr (speaker), Nordost Valhalla XLR and Siltech 770i XLR (interconnects), Curious Evolved USB Cable, Nordost Valhalla Power Cable (DAC), Transparent PowerLink MM2 (power amp.), 2 x Purist Audio Design Canorus Praesto Revision Power Cable (power distributor and computers), Purist Audio Design Limited Edition Praesto Revision Power Cable (preamp.) and Jupiter Pure Silver Cotton Insulated (all internal wires from the computers).
— Acessories: Furutech GTX-D (G); Furutech GTX-D ( R) (x2); Sunrise Deep Line (x3); ebony spikes, carbon fiber bases; Nordost Qv2 (x3); acoustical and electrical reinforcements.
- Back to top
#12
FelipeRolim
FelipeRolim
- LocationQuatiguá/Paraná/Brazil
Posted 14 December 2018 — 05:10 PM
Hello friends. I was warned that the NTBOOT.iso link I shared in the initial post file is no longer working. That’s why I stored the file in Google Drive and created a sharing link. Follow:
https://drive.google…iew?usp=sharing
- TubemanRQ likes this
— Speakers KEF Reference 203/2 with spikes;
— Schiit Freya preamp. (with Electro-Harmonix 6SN7 Gold-Pin tubes and Synergistic Research Orange Fuse) and Audio Research VS115 (with Tung-Sol KT120 and Svetlana 6H30 tubes and AMR Gold Fuse);
— DAC Ayre QB-9 192/24 + Furutech FI-03 ( R) + Synergistic Research Orange Fuse;
— Digital transport: the Control-PC is a dedicated computer with a Gigabyte H310N motherboard, a Intel Core i3-8100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and 1TB Samsung 850 Pro SSD; the Audio-PC is a dedicated computer with a Gigabyte H310M M.2 2.0 motherboard, a Intel Core i3-9100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and a JCAT USB Card FEMTO. Both computers use Windows Server 2019 Datacenter Core Mode (17763.737) with RAMdisk as Operational System, JPLAY FEMTO Alternative version, Minority Clean and Audiophile Optimizer v. 3.00 (1A in Control-PC and 4D in Audio-PC). Both also use hand made linear power supplies with a Furutech FI-06 ( R) NCF.
— Cables: Nordost Tyr (speaker), Nordost Valhalla XLR and Siltech 770i XLR (interconnects), Curious Evolved USB Cable, Nordost Valhalla Power Cable (DAC), Transparent PowerLink MM2 (power amp.), 2 x Purist Audio Design Canorus Praesto Revision Power Cable (power distributor and computers), Purist Audio Design Limited Edition Praesto Revision Power Cable (preamp.) and Jupiter Pure Silver Cotton Insulated (all internal wires from the computers).
— Acessories: Furutech GTX-D (G); Furutech GTX-D ( R) (x2); Sunrise Deep Line (x3); ebony spikes, carbon fiber bases; Nordost Qv2 (x3); acoustical and electrical reinforcements.
- Back to top
#13
billgr
billgr
- LocationNew Zealand
Posted 15 December 2018 — 07:07 PM
Hi Philipe,
It’s great to be given some of the reasons why ramdisk should sound better. I don’t know whether I’m competent enough to follow your instructions but you’ve definitely got me interested.
Does the ram need to be a single module or can you use multiples? If so which is better?
Have you tried with Win 2019 yet?
Win2019, Audiophile Optimizer, JPlayFemto (2PC), Ramdisk, MinorityClean, BubbleUPnP, Matrix X-SPDIF3, PS Audio DirectStream DAC, ATI1806 Amplifiers, Linkwitz LX521MG speakers with ASP4, JPS Labs Aluminata cables, PS Audio P10 Power Regenerator.
- Back to top
#14
FelipeRolim
FelipeRolim
- LocationQuatiguá/Paraná/Brazil
Posted 15 December 2018 — 10:05 PM
Hi Philipe,
It’s great to be given some of the reasons why ramdisk should sound better. I don’t know whether I’m competent enough to follow your instructions but you’ve definitely got me interested.
Does the ram need to be a single module or can you use multiples? If so which is better?
Have you tried with Win 2019 yet?
Hello billgr. I didn’t make comparisons with several types of RAM memory models, nor did I compare with 1 or 2 memory combs. I just made RAMdisk work with the setup I had at the time and compared. In my mind, the sound is much more fluid, natural, with clearer treble, without sounding artificial or «digitized». On the contrary. It looks more analog. I used, as a comparison, Windows stored on a Samsung 850Evo SSD with SATA filter from SOtM and an Audiopheeling SATA Statement cable (over $700.00; the best that I’ve hearded). At the time, Windows worked better on RAM than directly on the SSD. I spoke in more detail about the reasons why I believe RAMdisk is better on this topic. I hope you don’t mind the routing, but as the texts are also mine, I think it’s equally instructive. The topic is all interesting, but post #24 is the specific one. Regarding the Windows Server 2019, I haven’t tested it yet.
— Speakers KEF Reference 203/2 with spikes;
— Schiit Freya preamp. (with Electro-Harmonix 6SN7 Gold-Pin tubes and Synergistic Research Orange Fuse) and Audio Research VS115 (with Tung-Sol KT120 and Svetlana 6H30 tubes and AMR Gold Fuse);
— DAC Ayre QB-9 192/24 + Furutech FI-03 ( R) + Synergistic Research Orange Fuse;
— Digital transport: the Control-PC is a dedicated computer with a Gigabyte H310N motherboard, a Intel Core i3-8100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and 1TB Samsung 850 Pro SSD; the Audio-PC is a dedicated computer with a Gigabyte H310M M.2 2.0 motherboard, a Intel Core i3-9100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and a JCAT USB Card FEMTO. Both computers use Windows Server 2019 Datacenter Core Mode (17763.737) with RAMdisk as Operational System, JPLAY FEMTO Alternative version, Minority Clean and Audiophile Optimizer v. 3.00 (1A in Control-PC and 4D in Audio-PC). Both also use hand made linear power supplies with a Furutech FI-06 ( R) NCF.
— Cables: Nordost Tyr (speaker), Nordost Valhalla XLR and Siltech 770i XLR (interconnects), Curious Evolved USB Cable, Nordost Valhalla Power Cable (DAC), Transparent PowerLink MM2 (power amp.), 2 x Purist Audio Design Canorus Praesto Revision Power Cable (power distributor and computers), Purist Audio Design Limited Edition Praesto Revision Power Cable (preamp.) and Jupiter Pure Silver Cotton Insulated (all internal wires from the computers).
— Acessories: Furutech GTX-D (G); Furutech GTX-D ( R) (x2); Sunrise Deep Line (x3); ebony spikes, carbon fiber bases; Nordost Qv2 (x3); acoustical and electrical reinforcements.
- Back to top
#15
TubemanRQ
Posted 15 December 2018 — 10:10 PM
Hello friends. I was warned that the NTBOOT.iso link I shared in the initial post file is no longer working. That’s why I stored the file in Google Drive and created a sharing link. Follow:
https://drive.google…iew?usp=sharing
Thanks for all your incredible information, Felipe!
I truly agree with you and look forward to more of your posts!
Hi Philipe,
It’s great to be given some of the reasons why ramdisk should sound better. I don’t know whether I’m competent enough to follow your instructions but you’ve definitely got me interested.
Does the ram need to be a single module or can you use multiples? If so which is better?
Have you tried with Win 2019 yet?
Felipe, I am also curious if a single 16GB RAM module, or a dual-channel configuration of two 8GB RAM modules is better, as far as sound quality?
Does anyone have experience comparing dual-channel configuration vs single-channel for RAM?
Thanks!
- Back to top
#16
FelipeRolim
FelipeRolim
- LocationQuatiguá/Paraná/Brazil
Posted 15 December 2018 — 10:28 PM
In Control-PC I use a single 16GB DDR4 memory, and in Audio-PC I use two 8GB DDR3 memories. The only thing I compared in Audio-PC were the Corsair Value Select and Corsair Vengeance memories, both DDR3 1333MHz, and Vengeance was clearly superior. However, I didn’t compare single-channel with dual-channel and no other brands and models of memory. If anyone could collaborate, it will be interesting.
- Thuan likes this
— Speakers KEF Reference 203/2 with spikes;
— Schiit Freya preamp. (with Electro-Harmonix 6SN7 Gold-Pin tubes and Synergistic Research Orange Fuse) and Audio Research VS115 (with Tung-Sol KT120 and Svetlana 6H30 tubes and AMR Gold Fuse);
— DAC Ayre QB-9 192/24 + Furutech FI-03 ( R) + Synergistic Research Orange Fuse;
— Digital transport: the Control-PC is a dedicated computer with a Gigabyte H310N motherboard, a Intel Core i3-8100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and 1TB Samsung 850 Pro SSD; the Audio-PC is a dedicated computer with a Gigabyte H310M M.2 2.0 motherboard, a Intel Core i3-9100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and a JCAT USB Card FEMTO. Both computers use Windows Server 2019 Datacenter Core Mode (17763.737) with RAMdisk as Operational System, JPLAY FEMTO Alternative version, Minority Clean and Audiophile Optimizer v. 3.00 (1A in Control-PC and 4D in Audio-PC). Both also use hand made linear power supplies with a Furutech FI-06 ( R) NCF.
— Cables: Nordost Tyr (speaker), Nordost Valhalla XLR and Siltech 770i XLR (interconnects), Curious Evolved USB Cable, Nordost Valhalla Power Cable (DAC), Transparent PowerLink MM2 (power amp.), 2 x Purist Audio Design Canorus Praesto Revision Power Cable (power distributor and computers), Purist Audio Design Limited Edition Praesto Revision Power Cable (preamp.) and Jupiter Pure Silver Cotton Insulated (all internal wires from the computers).
— Acessories: Furutech GTX-D (G); Furutech GTX-D ( R) (x2); Sunrise Deep Line (x3); ebony spikes, carbon fiber bases; Nordost Qv2 (x3); acoustical and electrical reinforcements.
- Back to top
#17
billgr
billgr
- LocationNew Zealand
Posted 15 December 2018 — 11:47 PM
Yes, I read all the other posts. I’d like to play around with this but am short on time for a while (and aware of my limited abilities).
Plus I’m really happy with Femto and the new DirectStream firmware so want to bask in it’s glory for a while. But it’s on my list.
Win2019, Audiophile Optimizer, JPlayFemto (2PC), Ramdisk, MinorityClean, BubbleUPnP, Matrix X-SPDIF3, PS Audio DirectStream DAC, ATI1806 Amplifiers, Linkwitz LX521MG speakers with ASP4, JPS Labs Aluminata cables, PS Audio P10 Power Regenerator.
- Back to top
#18
billgr
billgr
- LocationNew Zealand
Posted 18 December 2018 — 04:09 AM
Hi Philipe, I plan to try ramdisk on a test pc first. Can I use the same windows activation key on both the SSD and on the ramdisk or do I need another key?
Win2019, Audiophile Optimizer, JPlayFemto (2PC), Ramdisk, MinorityClean, BubbleUPnP, Matrix X-SPDIF3, PS Audio DirectStream DAC, ATI1806 Amplifiers, Linkwitz LX521MG speakers with ASP4, JPS Labs Aluminata cables, PS Audio P10 Power Regenerator.
- Back to top
#19
FelipeRolim
FelipeRolim
- LocationQuatiguá/Paraná/Brazil
Posted 18 December 2018 — 04:03 PM
Hi Philipe, I plan to try ramdisk on a test pc first. Can I use the same windows activation key on both the SSD and on the ramdisk or do I need another key?
billgr, I don’t know precisely about this. Maybe, if Windows use MAC Address or another thing that identifies that computer as the same one, it will work. It’s similar to Audiophile Optimizer and JPLAY. In my Control-PC, the JPLAY is installed in both Windows, 10 and Server 2016, and working. You should try.
——————————————————————
Has anyone here come to experience the RAMdisk process and have some impression to report?
— Speakers KEF Reference 203/2 with spikes;
— Schiit Freya preamp. (with Electro-Harmonix 6SN7 Gold-Pin tubes and Synergistic Research Orange Fuse) and Audio Research VS115 (with Tung-Sol KT120 and Svetlana 6H30 tubes and AMR Gold Fuse);
— DAC Ayre QB-9 192/24 + Furutech FI-03 ( R) + Synergistic Research Orange Fuse;
— Digital transport: the Control-PC is a dedicated computer with a Gigabyte H310N motherboard, a Intel Core i3-8100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and 1TB Samsung 850 Pro SSD; the Audio-PC is a dedicated computer with a Gigabyte H310M M.2 2.0 motherboard, a Intel Core i3-9100T processor, an Arctic Alpine 12 Passive Cooler, 16GB Corsair Vengeance DDR4 RAM 2400MHz, a JCAT Net Card FEMTO and a JCAT USB Card FEMTO. Both computers use Windows Server 2019 Datacenter Core Mode (17763.737) with RAMdisk as Operational System, JPLAY FEMTO Alternative version, Minority Clean and Audiophile Optimizer v. 3.00 (1A in Control-PC and 4D in Audio-PC). Both also use hand made linear power supplies with a Furutech FI-06 ( R) NCF.
— Cables: Nordost Tyr (speaker), Nordost Valhalla XLR and Siltech 770i XLR (interconnects), Curious Evolved USB Cable, Nordost Valhalla Power Cable (DAC), Transparent PowerLink MM2 (power amp.), 2 x Purist Audio Design Canorus Praesto Revision Power Cable (power distributor and computers), Purist Audio Design Limited Edition Praesto Revision Power Cable (preamp.) and Jupiter Pure Silver Cotton Insulated (all internal wires from the computers).
— Acessories: Furutech GTX-D (G); Furutech GTX-D ( R) (x2); Sunrise Deep Line (x3); ebony spikes, carbon fiber bases; Nordost Qv2 (x3); acoustical and electrical reinforcements.
- Back to top
#20
Rob
Rob
- LocationStamford, England.
Posted 18 December 2018 — 04:44 PM
Hi Philipe, I plan to try ramdisk on a test pc first. Can I use the same windows activation key on both the SSD and on the ramdisk or do I need another key?
Hi, it depends on whether the key is OEM or RETAIL, with the OEM the key, it is tied to the hardware, with a RETAIL key it seems you can use it on more than one hardware configuration, hope the ramdisk works out ok for you, I’am also interested in ramdisc for audio Pc.
Regards Rob.
- Back to top
Если на вашем компьютере достаточно много оперативной памяти (RAM), значительная часть которой не используется, вы можете создать RAM диск (RAMDisk, RAM Drive), т.е. виртуальный накопитель, который операционная система видит, как обычный диск, но который фактически находится в оперативной памяти. Главное преимущество такого диска — он очень быстрый (быстрее, чем SSD накопители).
В этом обзоре о том, как создать RAM диск в Windows, для чего его можно использовать и о некоторых ограничениях (помимо размера), с которыми при этом можно столкнуться. Все программы для создания RAM диска были протестированы мной в Windows 10, но совместимы и с предыдущими версиями ОС, вплоть до 7-ки.
Для чего может пригодиться RAM диск в оперативной памяти
Как уже было отмечено, главное в этом диске — высокая скорость (можно увидеть результат теста на скриншоте ниже). Вторая особенность — данные с RAM диска автоматически исчезают при выключении компьютера или ноутбука (т.к. для хранения информации в оперативной памяти нужно питание), правда этот аспект некоторые программы для создания рам-дисков позволяют обойти (сохраняя содержимое диска на обычный диск при выключении компьютера и снова загружая его в RAM при включении).
Эти особенности, при наличии «лишней» оперативной памяти, позволяют эффективно использовать диск в оперативной памяти для следующих основных целей: размещение на нем временных файлов Windows, кэша браузеров и подобной информации (получаем прирост скорости, они автоматически удаляются), иногда — для размещения файла подкачки (например, если какая-то программа не работает с отключенным файлом подкачки, а хранить его на жестком диске или SSD мы не хотим). Можно придумать и собственные применения для такого диска: размещение любых файлов, нужных лишь в процессе работы.
Конечно, есть у использования дисков в оперативной памяти и минусы. Главный такой минус — как раз использование RAM, которая часто лишней не бывает. И, в итоге, если какой-то программе нужно больше памяти, чем осталось после создания такого диска, она будет вынуждена использовать файл подкачки на обычном диске, что будет медленнее.
Лучшие бесплатные программы для создания RAM диска в Windows
Далее — обзор лучших бесплатных (или условно-бесплатных) программ для создания RAM-диска в Windows, об их функциональности и ограничениях.
AMD Radeon RAMDisk
Программа AMD RAMDisk — одна из самых популярных программ для создания диска в оперативной памяти (нет, она не требует, чтобы на компьютере было установлено оборудование AMD, если у вас возникло такое подозрение из названия), несмотря на своё основное ограничение: бесплатная версия AMD RAMDisk позволяет создавать RAM диск размером не более 4 гигабайт (или 6 Гб, если у вас установлена оперативная память AMD).
Однако, часто такого объема оказывается вполне достаточно, а простота использования и дополнительные функции программы позволяют рекомендовать её к использованию.
Процесс создания RAM диска в AMD RAMDisk сводится к следующим простым шагам:
- В главном окне программы укажите желаемый размер диска в мегабайтах.
- При желании отметьте пункт «Create TEMP Directory» для создания папки под временные файлы на этом диске. Также, если нужно, задайте метку диска (Set disk label) и букву.
- Нажмите кнопку «Start RAMDisk».
- Диск будет создан и смонтирован в системе. Также он будет отформатирован, однако в процессе создания, Windows может показать пару окон о том, что диск нужно отформатировать, нажмите «Отмена» в них.
- Среди дополнительных возможностей программы — сохранение образа RAM-диска и его автоматическая загрузка при выключении и включении компьютера (на вкладке «Load/Save».
- Также по умолчанию программа добавляет себя в автозагрузку Windows, её отключение (а также ряд других опций) доступны на вкладке «Options».
Скачать бесплатно AMD Radeon RAMDisk можно с официального сайта (там доступна не только бесплатная версия) http://www.radeonramdisk.com/software_downloads.php
Очень похожая программа, которую я не буду рассматривать отдельно — Dataram RamDisk. Она тоже условно-бесплатная, но ограничение для бесплатной версии — 1 Гб. При этом, именно Dataram является разработчиком AMD RAMDisk (чем и объясняется похожесть этих программ). Тем не менее, если вам интересно, можете попробовать и этот вариант, он доступен здесь http://memory.dataram.com/products-and-services/software/ramdisk
Softperfect RAM Disk
Softperfect RAM Disk единственная в этом обзоре платная программа (бесплатно работает 30 дней), однако я решил включить её в список, поскольку это единственная программа для создания RAM-диска на русском языке.
В течение первых 30 дней никаких ограничений по размеру диска, а также по их количеству (можно создавать более одного диска) нет, а точнее они ограничены объемом доступной оперативной памяти и свободных букв дисков.
Чтобы сделать RAM Disk в программе от Softperfect, используйте следующие простые шаги:
- Нажмите по кнопке с изображением «Плюса».
- Задайте параметры вашего RAM-диска, при желании можно загрузить его содержимое из образа, создать набор папок на диске, указать файловую систему, а также сделать так, чтобы он определялся Windows как съемный накопитель.
- Если вам требуется, чтобы данные автоматически сохранялись и загружались, то укажите в пункте «Путь к файлу образа» путь, куда будут сохраняться данные, тогда отметка «Сохранять содержимое» станет активной.
- Нажмите «Ок». RAM диск будет создан.
- При желании, вы можете добавить дополнительные диски, а также перенести папку с временными файлами на диск прямо в интерфейсе программы (в пункте меню «Инструменты»), для предыдущей программы и последующих для этого нужно заходить в параметры системных переменных Windows.
Скачать Softperfect RAM Disk вы можете с официального сайта https://www.softperfect.com/products/ramdisk/
ImDisk
ImDisk — полностью бесплатная программа с открытым исходным кодом для создания RAM-дисков, без каких-либо ограничений (можно задавать любой размер в пределах доступной оперативной памяти, создавать несколько дисков).
- После установки программы, она создаст пункт в панели управления Windows, создание дисков и управление ими осуществляется там.
- Для создания диска откройте ImDisk Virtual Disk Driver и нажмите «Mount New».
- Задайте букву диска (Drive letter), размер диска (Size of virtual disk). Остальные пункты можно не изменять. Нажмите «Ок».
- Диск будет создан и подключен к системе, но не отформатирован — это можно сделать средствами Windows.
Скачать программу ImDisk для создания RAM-дисков можно с официального сайта: http://www.ltr-data.se/opencode.html/#ImDisk
OSFMount
PassMark OSFMount — ещё одна полностью бесплатная программа, которая, помимо монтирования различных образов в системе (её основная задача), также умеет создавать RAM диски без ограничений.
Процесс создания выглядит следующим образом:
- В главном окне программы нажмите «Mount New».
- В следующем окне в пункте «Source» укажите «Empty RAM Drive» (пустой RAM диск), задайте размер, букву диска, тип эмулируемого накопителя, метку тома. Также можно сразу отформатировать его (но только в FAT32).
- Нажмите Ок.
Загрузка OSFMount доступна здесь: https://www.osforensics.com/tools/mount-disk-images.html
StarWind RAM Disk
И последняя бесплатная программа в этом обзоре — StarWind RAM Disk, также позволяющая создавать несколько RAM дисков произвольного объема в удобном интерфейсе. Процесс создания, думаю, будет ясен из скриншота ниже.
Скачать программу можно бесплатно с официального сайта https://www.starwindsoftware.com/high-performance-ram-disk-emulator, но для загрузки потребуется зарегистрироваться (ссылка на установщик StarWind RAM Disk придет на электронную почту).
Создание RAM диска в Windows — видео
На этом, пожалуй, завершу. Думаю, приведенных программ будет достаточно под почти любые потребности. Кстати, если вы собираетесь использовать RAM диск, поделитесь в комментариях, для каких именно сценариев работы?
Изучая разные методы повышения производительности работы СУБД SQL Server, добрался до такой интересной темы, как использование RAM-диска для размещения файлов нагруженной системной базы данных tempdb. Выяснил для себя то, что из работоспособных свободно-распространяемых инструментов для организации RAM-диска под ОС Windows Server на текущий момент многие выделяют утилиту imDisk Toolkit. Однако этот инструмент, как и прочие его аналоги, не получится использовать в кластерных конфигурациях SQL Server, где использование ресурсов оперативной памяти (далее ОЗУ) в любой момент времени может быть переключено с одного кластерного узла на другой. То есть, если и использовать в кластере RAM-диск, то он должен быть одинаково доступен всем узлам кластера, как и любой другой кластерный диск, участвующий в конфигурации кластеризованного экземпляра SQL Server.
Напрашивающимся в таком случае решением может стать использование в качестве RAM-диска ОЗУ не самих узлов кластера, а ОЗУ стороннего хоста, подключенного к узлам кластера в качестве дискового устройства через транспорт Fiber Channel SAN (как отличающийся приемлемыми показателями задержки). То есть на выделенном хосте используются локальные ресурсы ОЗУ для создания RAM-диска, после чего RAM-диск транслируется на узлы кластера через FC SAN, как блочное устройство, и может использоваться в качестве кластерного диска.
Далее я опишу пример создания такого RAM-диска на выделенном хосте с ОС Debian GNU/Linux 9 и его трансляцию в SAN с помощью Linux-IO (LIO). На сервере для обеспечения работы FC Target предварительно установлен контроллер FC HBA QLogic и задействован специальный режим работы драйвера – Target Mode.
Обязательным условием в нашем примере является то, что на Linux-хосте нужно организовать механизм сохранения данных RAM-диска при выключении ОС и восстановлении данных на RAM-диск при включении ОС с использованием выделенного SSD-диска.
Настраиваем RAM-диск на Linux
Перейдём на наш Linux-сервер, имеющий большой объем оперативной памяти, часть которой мы готовы выделить под организацию RAM-диска.
Создаём каталог для RAM-диска и каталог для хранения резервной копии содержимого RAM-диска:
# mkdir /mnt/ramdisk1
# mkdir /mnt/ramdisk1-backup
Форматируем отдельный SSD диск для сохранения/восстановления данных RAM-диска при выключении/включении хостовой ОС Linux:
# mkfs -t ext4 /dev/cciss/c0d1
Проверяем монтирование созданного на SSD диске раздела в каталог для хранения резервной копии:
# mount /dev/cciss/c0d1 /mnt/ramdisk1-backup
Обратите внимание на то, что свободное место в каталоге /mnt/ramdisk1-backup всегда должно быть не меньше, чем размер планируемого содержимого RAM-диска. В противном случае мы можем столкнуться с ситуацией, при которой окажется невозможно сохранить данные RAM-диска при выключении сервера, что приведёт к потере всех данных на этом RAM-диске.
Выясним идентификатор UUID SSD-диска:
# blkid /dev/cciss/c0d1
В конец системного конфигурационного файла /etc/fstab добавляем директивы монтирования RAM-диска и диска для хранения в соответствующие каталоги:
# nano /etc/fstab
...
# Mount RAM-disk
#
tmpfs /mnt/ramdisk1 tmpfs defaults,size=30725M 0 0
#
# Mount SSD-disk for RAM saving/restoring
#
UUID=619be6d2-9023-4a46-8c0e-26206fe683f4 /mnt/ramdisk1-backup ext4 defaults 0 0
При описании директивы создания RAM-диска нам желательно сразу правильно спланировать его размер, учитывая то, что размер диска должен быть немного больше, чем объём планируемого блочного устройства. Это нужно для того, чтобы в дальнейшем избежать сигнализации систем мониторинга о том, что исходный RAM-диск переполнен. Например, в нашем случае в fstab при запуске системы создаётся RAM-диск размером 30725MB, а на этом диске мы в последующем будем создавать файл размером 30720MB, который и будет в дальнейшем транслироваться в виде блочного устройства из LIO в SAN.
Настраиваем службу lio-config-controller
Создадим скрипт, который будет представлять собой основу для работы специальной службы systemd, которую мы назовём, например, lio-config-controller.service. Эта служба будет управлять запуском и остановкой блочного устройства, транслируемого в SAN через конфигурацию LIO.
# nano /usr/local/sbin/lio-config-controller.sh
Наполним скрипт содержимым:
#!/bin/sh
#
LogFile="/var/log/script_lio-config-controller.log"
AddToLog()
{
echo $(date +"%F %T") $1
echo $(date +"%F %T") $1 >> $LogFile
}
RunStartMode()
{
AddToLog " ------- Script START mode session started ------- "
AddToLog "Restore RAM-disk data from file..."
if [ -e /mnt/ramdisk1-backup/ramdisk1.img ]
then
AddToLog "Saved image was found. Copying an image from disk to memory started..."
cp /mnt/ramdisk1-backup/ramdisk1.img /mnt/ramdisk1
AddToLog "Copy complete."
else
AddToLog "Saved image was not found. Create a new image file..."
fallocate --length=30720M /mnt/ramdisk1/ramdisk1.img
AddToLog "Creation completed."
fi
AddToLog "Flush LIO config..."
targetcli clearconfig confirm=True
AddToLog "Create LIO backstores..."
targetcli /backstores/fileio create file_or_dev=/mnt/ramdisk1/ramdisk1.img name=FS04-RAMDisk1 write_back=false
AddToLog "Create LIO Targets..."
targetcli /qla2xxx create naa.50014380029a1644
targetcli /qla2xxx create naa.50014380029a1646
AddToLog "Create LIO backstores mappings to Targets..."
targetcli /qla2xxx/naa.50014380029a1644/luns create /backstores/fileio/FS04-RAMDisk1
targetcli /qla2xxx/naa.50014380029a1646/luns create /backstores/fileio/FS04-RAMDisk1
AddToLog "Create ACLs..."
AddToLog " - ACL for Initiator KOM-WS-NODE1..."
targetcli /qla2xxx/naa.50014380029a1644/acls create c003ff9bfee40008
targetcli /qla2xxx/naa.50014380029a1644/acls create C003FF9BFEE40009
targetcli /qla2xxx/naa.50014380029a1646/acls create c003ff9bfee4000a
targetcli /qla2xxx/naa.50014380029a1646/acls create C003FF9BFEE4000B
AddToLog " - ACL for Initiator KOM-WS-NODE2..."
targetcli /qla2xxx/naa.50014380029a1644/acls create c003ff2369260000
targetcli /qla2xxx/naa.50014380029a1644/acls create C003FF2369260001
targetcli /qla2xxx/naa.50014380029a1646/acls create c003ff2369260002
targetcli /qla2xxx/naa.50014380029a1646/acls create C003FF2369260003
AddToLog "Save LIO config..."
targetcli saveconfig
AddToLog "Copy of LIO configuration saved to /etc/rtslib-fb-target/saveconfig.json"
AddToLog "Script finished."
}
RunStopMode()
{
AddToLog " ------- Script STOP mode session started ------- "
AddToLog "Flush LIO config..."
/usr/bin/targetctl clear
AddToLog "Save RAM-disk data to persistent file..."
if [ -e /mnt/ramdisk1/ramdisk1.img ]
then
AddToLog "Image file in RAM-disk was found. Copying an image from memory to disk started..."
cp /mnt/ramdisk1/ramdisk1.img /mnt/ramdisk1-backup
AddToLog "Copy complete."
else
AddToLog "WARNINIG! Image file in RAM-disk was not found."
fi
AddToLog "Script finished."
}
case "$1" in
start)
RunStartMode
;;
stop)
RunStopMode
;;
*)
echo "Usage: $0 {start|stop}" >&2
exit 1
;;
esac
Как видно, скрипт может работать в двух основных режимах:
1) Запуск c ключом start
В этом режиме скрипт будет размещать на уже доступном в системе RAM-диске в каталоге /mnt/ramdisk1 специальный файл ramdisk1.img. При этом img-файл будет вновь создаваться только в том случае, если его предыдущая копия не обнаружена на SSD-диске в каталоге /mnt/ramdisk1-backup. В случае обнаружения копии img-файла на SSD, эта копия будет восстанавливаться на RAM-диск. В дальнейшем img-файл на RAM-диске будет загружаться в конфигурацию LIO, создавая FC Target. Обратите внимание на то, что перед загрузкой новой конфигурации, текущая конфигурация LIO будет очищаться.
2) Запуск c ключом stop
В этом режиме конфигурация LIO очищается, то есть из системы удаляется FC Target, ассоциированный с img-файлом на RAM-диске. После чего происходит сохранение img-файла из RAM-диска на SSD-диск.
Оба режима работы скрипта логируют основные этапы выполняемых операций в отдельный log-файл.
Сделаем скрипт исполняемым:
# chmod +x /usr/local/sbin/lio-config-controller.sh
Так как наш скрипт предполагает наличие в системе уже смонтированных дисков, перед его вызовом мы должны удостовериться в том, что эти диски действительно смонтированы. Оформим вызов скрипта, как службы systemd, таким образом, чтобы у службы (юнита) lio-config-controller.service была зависимость от юнитов, отвечающих за монтирование соответствующих дисков.
Выясним то, какие имена имеют автоматически генерируемые юниты монтирования интересующих нас дисков:
# systemctl list-units --type=mount
Как видим, в нашем случае юниты имеют имена «mnt-ramdisk1.mount» и «mnt-ramdisk1x2dbackup.mount«.
Создадим новый юнит lio-config-controller.service, который будет выполнять наш скрипт, загружая и останавливая тем самым конфигурацию LIO. При этом не забудем выставить зависимость от юнитов монтирования нужных нам дисков.
# nano /etc/systemd/system/lio-config-controller.service
Наполним конфигурацию юнита следующим образам:
[Unit]
Description=LIO Target Subsystem configuration controller service
After=mnt-ramdisk1.mount mnt-ramdisk1x2dbackup.mount
Requires=mnt-ramdisk1.mount mnt-ramdisk1x2dbackup.mount
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/sbin/lio-config-controller.sh start
ExecStop=/usr/local/sbin/lio-config-controller.sh stop
TimeoutStopSec=300
[Install]
WantedBy=multi-user.target
Так как в процессе остановки службы может потребоваться некоторое время на операцию сброса содержимого RAM-диска на SSD, дополнительно добавим таймаут ожидания остановки службы. Разумеется, если вместо SSD для хранения используется более медленный HDD, имеет смысл увеличить этот таймаут. В нашем случае этот таймаут составляет 300 секунд или 5 минут. При использовании SSD-диска величину таймаута можно сделать и ниже. Для расчёта оптимальной величины можно использовать фактическое время, затрачиваемое на сохранение содержимого RAM-диска, которое фиксируется скриптом в логе /var/log/script_lio-config-controller.log.
Включаем автоматическую загрузку созданного нами юнита в конфигурации systemd:
# systemctl enable lio-config-controller.service
В опорном скрипте созданной нами службы lio-config-controller используется утилита targetcli, которая позволяет нам управлять конфигурацией LIO. Из официальных репозиториев Debian Linux установим пакет targetcli-fb, позволяющий работать с LIO в Debian и содержащий соответствующую утилиту:
# apt-get install targetcli-fb
Так как загрузкой и выгрузкой конфигурации LIO у нас будет заниматься собственная служба, нам потребуется остановить и отключить автоматический запуск стандартной службы rtslib-fb-targetctl, устанавливаемой в систему из пакета targetcli-fb. Вся ранее настроенная конфигурация LIO при этом будет очищена.
# systemctl stop rtslib-fb-targetctl
# systemctl disable rtslib-fb-targetctl
После всех проделанных изменений можно перезагрузить конфигурацию служб systemd:
# systemctl daemon-reload
Теперь можно выполнить проверку того, как в автоматическом режиме отрабатывает созданная нами конфигурация при выключении и включении хостовой ОС Linux.
Базовая проверка и отладка
Перезагружаем сервер и после завершения загрузки ОС проверяем то, что созданная нами служба lio-config-controller успешно запущена:
# systemctl status lio-config-controller
Дополнительно можно проверить то, в какой последовательности отработал запуск служб systemd в процессе запуска ОС Linux. Для этого нам потребуется включить и настроить службу journald, как это описано в статье «Включение режима сохранения логов служб systemd через journald в Linux». После соответствующей настройки системы можно посмотреть логи интересующих нас служб, связанных с монтированием дисков, на предмет времени их запуска и остановки:
# journalctl --boot=-1 --unit=mnt-ramdisk1.mount
# journalctl --boot=-1 --unit=mnt-ramdisk1x2dbackup.mount
# journalctl --boot=-1 --unit=lio-config-controller.service
Основные этапы работы скрипта, вызываемого службой lio-config-controller можем посмотреть в логе, который указан в самом начале скрипта:
# cat /var/log/script_lio-config-controller.log
Проверяем то, что LIO загружен именно в той конфигурации, что мы описали в скрипте
# targetcli ls
Как видно из нашего примера, ранее обозначенная в скрипте конфигурация LIO успешно загружена и созданы цели FC Target.
После этого настраиваем зонирование на оптических коммутаторах SAN, чтобы на серверах на базе Windows Server стал доступен соответствующий FC Target.
В нашем случае презентованный LUN доступен на обоих узлах кластера Windows Server по двум путям, обеспечивая тем самым повышенную доступность и производительность. Получившееся общее для двух Windows-систем дисковое устройство форматируем в NTFS и добавляем в кластер в качестве общего кластерного диска.
Теперь настало время убедиться в том, что в случае возникновения необходимости отключения Linux-сервера, предоставляющего свою оперативную память, всё содержимое кластерного диска будет сохранено.
Проверка сохранения содержимого RAM-диска
Для проверки создаём на кластерном диске Windows Server какие-то файлы и запоминаем их содержание, то есть копируем туда какой-то осмысленный контент. После этого выводим в кластере диск в режим обслуживания или просто переводим в состояние Offline, чтобы избежать кластерных попыток активировать диск на соседнем узле кластера в тот момент, когда мы отключим для проверки Linux-сервер.
После этого перейдём на Linux-сервер и вызовем выключение его ОС штатным способом. В ходе завершения работы ОС обращаем внимание на то, что таймаут остановки службы lio-config-controller используется именно тот, который мы указали в настройках юнита systemd — lio-config-controller.service:
После проверочного отключения снова включаем Linux-сервер и дожидаемся успешного запуска ОС, инициализации RAM-диска (с восстановлением данных из копии на SSD диске) и его последующей трансляции в конфигурацию LIO. После того, как всё «взлетело», можем снова проанализировать лог работы службы lio-config-controller и лог работы самого скрипта на предмет корректности этапов выключения/включения RAM-диска при выключении/включении ОС:
# journalctl --unit=lio-config-controller.service
# cat /var/log/script_lio-config-controller.log
Все операции должны отрабатывать последовательно и без ошибок. И здесь лучше не жалеть времени на скрупулёзную проверку корректной и своевременной отработки каждого этапа. Только так можно рассчитывать на то, что данные с RAM-диска не будут в дальнейшем потеряны.
Когда все проверки на стороне Linux-сервера закончены, вернёмся в консоль управления кластером Failover Cluster Manager и убедимся в том, что кластерный RAM-диск работоспособен и успешно переводится в состояние Online. После успешного возобновления работы кластерного диска проверим его содержимое и убедимся в том, что на диске присутствуют скопированные нами ранее на этот диск файлы.
Проверка производительности RAM-диска
Сразу сделаем оговорку о том, что любые сравнительные тесты на проверку производительности всегда зависят от множества факторов. И в каждом отдельно взятом случае и отдельном рабочем окружении эти факторы могут иметь разную степень влияния на конечный результат. Поэтому в нашем конкретном случае никто не претендует на какую-то объективность. Мы лишь поделимся одним простым наблюдением.
На два рассматриваемых в нашем примере сервера с ОС Windows Server помимо RAM-диска через FC SAN (два линка FC 4G c MPIO) презентовано ещё несколько дисковых устройств, одно из которых представляет собой массив RAID10 из 12 SSD дисков Intel SATA 3G с СХД HP MSA P2000 G3. При тестировании такого дискового устройства на любом из узлов кластера получались примерно следующие пиковые показатели:
- Запись ~499 MB/s или 3.9 Gbit/s
- Чтение ~791 MB/s или 6.3 Gbit/s
При тестировании на этих же серверах нашего RAM-диска получались следующие пиковые показатели:
- Запись ~687 MB/s или 5.5 Gbit/s
- Чтение ~730 MB/s или 5.8 Gbit/s
Небольшое отклонение в показателях чтения в пользу СХД MSA можно попытаться объяснить опять же разными факторами, но не будем заострять на этом внимание. Внимание здесь стоит обратить на ощутимую разницу в показателях записи. При операциях с большими блоками, начиная с 512KB, на лицо выигрыш RAM-диска и по второму графику видно, что на каком-то уровне (возможно FC HBA на Linux-сервере, возможно на SAN …) просто срабатывает ограничение, и нельзя исключать того, что есть возможность улучшить полученные показатели чтения/записи. Кстати, обратите внимание также и на ощутимую разницу по показателям чтения/записи при работе с блоками 64K (рекомендуемый Microsoft размер блока при форматировании накопителей под файлы БД SQL Server).
Таким образом, привнесённый в кластер RAM-диск, в качестве места размещения файлов нагруженной системной базы данных tempdb кластеризованного экземпляра СУБД SQL Server, представляется вполне привлекательным решением.
Замечание о последовательности выключения и выключения серверов
Следует обратить внимание на то, что в случае возникновения нештатных ситуаций в ЦОД, например, в случае отключения электропитания, порядок автоматического отключения серверов должен быть настроен таким образом, чтобы физический Linux-сервер c RAM-диском выключался только после того, как завершат свою работу узлы кластера, которые используют этот RAM-диск в качестве кластерного ресурса.
Ну и, разумеется, обратного принципа следует придерживаться в процессе включения серверов. То есть Linux-сервер с RAM-диском должен запускаться, так же как и прочие СХД, раньше, чем стартуют серверы-узлы кластера Windows, использующие этот RAM-диск.
Заключение
Стоит отметить тот факт, что организацию RAM-диска описанным здесь методом можно выполнить не только на ОС Debian GNU/Linux 9, но и на других дистрибутивах Linux. А в качестве механизма трансляции RAM-диска в FC SAN можно использовать не только Linux-IO, но и такой замечательный инструмент, как SCST, пример использования которого мы уже рассматривали ранее.
Если же говорить о том, с чего мы начали, то, разумеется, можно поспорить о плюсах и минусах использования RAM-диска для системной базы данных tempdb СУБД SQL Server, равно как и об описанной здесь организации RAM-диска, как таковой. Здесь каждый для себя выводы делает сам исходя из своего практического опыта и степени «избалованности»