After installing SSDkeeper noticed a very strange picture - after a while the computer works, the amount of available memory decreases noticeably. With a standard set of constantly running applications (browsers, torrent and DC + + client) of 16GB, about half remains.
Task Manager did not give an answer to the question about the memory leak, so the following diagnostic utility was RamMap:
The screenshot shows the state of the system after the problem has been fixed, previously Nonpaged Pool occupied about 4-6GB.
Next, Poolmon needed:
')
When sorting by the Bytes (
poolmon -b
) field, a driver with a CTNP tag appeared at the top of the list. Previously, the value was in the region of 3-4GB.
To find its name by tag, you can use the findstr command:
findstr /s CTNP C:\windows\system32\drivers\*.sys
The command searches for the string "CTNP", looking at the contents of all files with the extension .sys in the specified directory.
Knowing the name of the driver file, you can find it in the standard registry editor.
Search tcesd.sys, search branch - HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet. First of all, the \ services \ section is of interest.
Fortunately, the developers took care of fine-tuning, but for some reason forgot to bring at least their minimum number to the program interface, where IntelliMemory control is present only in the on / off mode.
This was a very unfortunate move, because 20-40% of memory is a very high price for a defragmenter + read / write optimizer to disk.
Using Nonpaged Pool says that the memory will not be freed by the OS, and in case of its shortage, a message pops up about the need to close unnecessary programs.
The problem is quite common and many turn off this feature, or delete the program altogether.
Decision:
You can set a limit on memory consumption by editing the specified registry settings manually, or create a file with the following contents, change its extension to .reg and run.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\tcesd\Params] "MaxMemSizeMB"=dword:00000400 "MaxMemUsagePct"=dword:0000000a "MinMemSizeMB"=dword:00000020 "MinMemUsagePct"=dword:00000001
The two upper parameters describe the upper limit - no more than 1 GB or 10% of memory.
The two lower parameters describe the minimum state - 32 MB and 1% of the system memory.
Important : Before making changes, you must either boot into safe mode, or stop the main SSDkeeper / Diskeeper service via the services.msc snap-in, otherwise the parameters will be reset again after rebooting.
It also doesn’t hurt to back up the registry before the changes by exporting the entire \ tcesd \ section.
Results:

For the week of working with the program, I came to the conclusion that the optimal value is within 512-1024MB, unless of course the computer is used as a file server, but even if you put only 256MB, the benefit will still be compared to the total shutdown, which is advised on the Internet .
According to statistics from the main page of the program:
- when IntelliMemory is disabled, the Read I / O optimization is 8%.
- with 256-512MB increased to 12%.
- at 512-1024Mb - up to 14%.