Both are created in RAM.
The only difference is the owner of the memory and when the memory is actually allocated.
While 'virtual' creates the ramdisk in the 'system' process memory and allocates memory dynamically, 'physical' allocates all memory beforehand as driver memory and is always the size of the ramdisk.
There are of course switches for the driver to influence this, but using the 'ImDisk Virtual Disk Driver' UI results in the above mentioned behavior
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
No, there is no dynamic allocation in the driver. All the memory is always allocated in one go, no matter it is virtual or physical.
If it was dynamic, you should be able to use a command such as:
imdisk -a -s 100T
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
@v77 that is just an internal check on the ImDisk Driver to prevent overflowing the physical RAM.
Using a command like 'imdisk -a -t vm -s 40G' on a 64GB system does not reserve 40GB.
Last edit: Patrick Ewering 2020-11-12
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
"Using a command like 'imdisk -a -t vm -s 40G' on a 64GB system does not reserve 40GB."
-> If the memory is not "reserved" (it's not the correct word), you should be able to do this command several times. Just try...
This is also visible in the task manager: with Windows 10, in the Performance tab, Memory section, the memory appears as "commited".
By the way, why do you think I spent so much time to develop the dynamic memory allocation feature (RamDyn.exe) in the Toolkit?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It was not my intention to deny your work that went into the dynamic memory allocation feature of the toolkit. As you pointed out 'committed' is the correct term and 'reserved' is mostly used for hardware, which was my fault.
One could still argue that telling windows to increase the max page size to 1TB and the RAM would still not be in use, if I were to use the -s switch with say 500G. Committed memory (as far as I know) can still be used as cache as long as it is not allocated by the process it is committed to.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Both are created in RAM.
The only difference is the owner of the memory and when the memory is actually allocated.
While 'virtual' creates the ramdisk in the 'system' process memory and allocates memory dynamically, 'physical' allocates all memory beforehand as driver memory and is always the size of the ramdisk.
There are of course switches for the driver to influence this, but using the 'ImDisk Virtual Disk Driver' UI results in the above mentioned behavior
No, there is no dynamic allocation in the driver. All the memory is always allocated in one go, no matter it is virtual or physical.
If it was dynamic, you should be able to use a command such as:
imdisk -a -s 100T
@v77 that is just an internal check on the ImDisk Driver to prevent overflowing the physical RAM.
Using a command like 'imdisk -a -t vm -s 40G' on a 64GB system does not reserve 40GB.
Last edit: Patrick Ewering 2020-11-12
"Using a command like 'imdisk -a -t vm -s 40G' on a 64GB system does not reserve 40GB."
-> If the memory is not "reserved" (it's not the correct word), you should be able to do this command several times. Just try...
This is also visible in the task manager: with Windows 10, in the Performance tab, Memory section, the memory appears as "commited".
By the way, why do you think I spent so much time to develop the dynamic memory allocation feature (RamDyn.exe) in the Toolkit?
It was not my intention to deny your work that went into the dynamic memory allocation feature of the toolkit. As you pointed out 'committed' is the correct term and 'reserved' is mostly used for hardware, which was my fault.
One could still argue that telling windows to increase the max page size to 1TB and the RAM would still not be in use, if I were to use the -s switch with say 500G. Committed memory (as far as I know) can still be used as cache as long as it is not allocated by the process it is committed to.