I think as we all agree that more ram usage in IBT means that each pass will take longer to complete hence overall test will also be longer for a given number of passes and cpu speed; I wanted to explore more on the ram side of the test which will hopefully result in better understanding of IBT usage.
Here is the Windows7 task manager. I am strictly looking at the
'Physical Memory'
If we click on 'Resource Monitor' and then click on 'Memory' tab, we get the following screen:
If we place our mouse pointer on the individual heading we get the description of what that particular memory is. I have 4GB or 4096MB of ram installed, however task manager shows it as 4094MB. That's because 2MB of physical ram in my case is reserved by bios and other drivers as shown in the 'Hardware reserved' description. So total memory will always be 4094MB in my case.
Listing all the memories with their description:
Hardware Reserved: Memory that is reserved for use by the BIOS and some drivers for other peripherals
In Use: memory used by processes, drivers or the operating system
Modified: memory whose contents must be written to disk before it can be used for another purpose
Standby: memory that contains cached data and code that isn't actively in use
Free: memory that doesn't contain any valuable data and will be used first when processes, drivers or operating system need more memory
Available: Amount of memory that is immediately available for use by processes, drivers or the operating system.
Available memory = Standby memory + Free memory (Eq1)
So if you add both of them up, you will get 'Available' memory
Cached: Amount of memory that is containing cached data and code for rapid access by processes, drivers and operating system.
Cached memory = Modified memory + Standby memory (Eq2)
So if you add both of them up, you will get 'cached' memory
Total: Amount of physical memory available to operating system, device drivers and processes
Installed: Amount of physical memory installed in the computer
Apart from
total,
installed and
hardware reserved, rest of the memories are all variable as there is interdependancy among them shown by the equations.
When you choose 'Maximum' stress level in IBT, you are always using 'Available' memory in the test as shown below.
So
IBT 'Maximum' stress level = Available memory
Looking at
Available memory again and using the 2 equations above:
Available memory = Free memory + (Cached - Modified)
In the 'Resource Monitor' when the available memory is utilised by IBT maximum stress level, 'Free memory' and 'Modified' memories all get used up afaik. However the 'Standby' memory doesn't get used up to the point where the equation can be balanced. In other words windows 7 doesn't free up the required amount of physical memory from the standby value needed by IBT stress testing hence you can still see a large value of cache in windows task manager.
For example in the above pic:
Available = 3260MB
Free = 1870MB
Cached = 1396MB
Modified memory was = 6MB (The rest is taken by windows7, drivers and background processes i.e. 'InUse memory')
So before performing test:
Available = Free + (Cached - Modified)
3260MB = 1870MB + (1396MB - 6MB)
3260MB = 1870MB + 1390MB
However during testing I found that Cache memory went down to 386MB iirc in task manager. So that means 1396 - 386 = 1010MB of the physical memory freed by windows 7 from the cache memory was used up during IBT testing.So that means
Available = Free + (Cached - Modified)
3260MB = 1870MB + (1010MB - 6MB)
3260MB = 1870MB + 1004MB
3260MB = 2874 + X
X = 386MB. Now I suspect this amount of memory was the virtual memory that was provided by windows7 to IBT as a compensation/replacement for the leftover of cache memory that couldn't be freed by windows. That's why I think what
Perspolis meant when he said that using IBT maximum stress level consists of mixture of physical and virtual memory.
If using custom stress level and inputting 'Free' physical memory or slighltly lower value, then only this memory will get used up.
Notice that you can increase the amount of 'Free' physical memory for use in IBT by running it on maximum for 20-30s as suggested by Perspolis and then stopping it. You should notice increase in 'Free' memory and thereby also an increase in 'Available' memory. You can keep repeating it until you can get the maximum 'Free' ram for your system and the cache value will be lower.
For my 4GB ram, I can get 3200MB of 'Free' physical memory which is 80% of the total physical ram installed. The rest is taken up by windows7, device drivers and background processes etc.
Available memory = Free memory + (Cached - Modified)
2990MB = 1000MB + (1500MB - 10MB) (not advisable)
or 2990MB = 2000MB + (500MB - 10MB) (recommended)
For the same amount of 'Available' memory we can have 2 different values of 'Free' and 'Cached' memory. So IBT can produce two different GFlops output figures for the same cpu at same clockspeed.
E.g
For my
[email protected]
IBT maximum stress level gives 44-45GFlops; which is similar to the results obtained when using 'Free' memory. However I ran IBT maximum stress level again this morning and gained 30GFlops lol
. My temps were 5-7C lower across the 4 cores. So it is best to rerun IBT several times to ensure that you are getting the appropriate GFlops values.
However if you are going to use IBT 'maximum' stress level then it is advisable to ensure you have as much 'Free' physical memory as possible and that your cached memory is reduced. Otherwise you could have large virtual memory playing a role in the stress testing by which you could end up with lower GFlops values and lower temperatures.
It is always best to use 'custom' stress level and input 'Free' value or lower for better stress testing as data will be readily available to cpu for processing/executing.
Guys feel free to correct me if I made any mistakes and I will very much appreciate it
. I am amazed that every day I am learning and experimenting with new things that seemed trivial before
.