RAM Clear
The "Memory Optimizer"

Program featureso The size of RAM, supported for optimization, is theoretically
unlimited. But, the optimizer is still a 32 bit application and it works on any Win32 system (starting from Win95, Win98 is recommended). On a 32 bit systems with PAE support (to say - WinXP with PAE enabled on PPro or better) the optimizer supports as much memory as the OS supports. On 64 bit systems the optimizer supports entire size of memory as well.
ATTENTION: to enable support of the memory bigger than 1-1.5 GB, you have to switch the program algorithm into Advanced mode. This setting is made very simply, as well as the other settings in the program. Please read the help .TXT file provided or press [F1] key when the program interface is active.
o The optimizer has 3 agressivity levels for each algorithm, which provide flexible way to make the process of optimization more soft (less effective), normal or more hard (more effective), either.
o The program does not require installation or any other specific stuff for running - only Win32 compatible OS and the computer which will run such the OS. The only one requirement for the hardware is: the videosystem should support and work in HighColor mode (15 or 16 bits per pixel) at least, because of high-gradational color GUI interface.
o There is an indicator of the free memory size on the main program window. It consists of the progress bar and the textual indicator. The textual information is provided in the form used in the
MemInfoMicro - there is no crazy unreadable or big numbers - the size is always easy to read. The size of memory for optimizing is entering in the similar but not equal manner and is easy in use as well.
When the program is minimized to tray, it shows the percentage of free RAM on its tray icon with white digits, and this info is
really easy to read (contrary to very frequently encountering unreadable tray digital indicators). When you will move the cursor over the program tray icon, it will show the tip with more detailed info, similar to the textual indicator in the main window.
When the program is minimized to tray and running an optimization - it shows the progress percentage with ultramarine digits.
The program may be restored with left mouse button double-clicking on its tray icon. With clicking on the tray icon once with the right mouse button you will get the popup menu with the basical program commands.
o The program supports any true Win32 (x86/x86_64) OS and have been tested on Win95 OSR2, Win98SE, Win2000 32bit, WinXP 32bit, Win7 32bit/64bit. Usage of the program on the emulation/simulation/wrapping systems similar to Wine is not recommended and its work with them is not guaranteed.
o The optimizer has the MUI support - interface translation is made via resource DLL plugin, and the program selects the language to use on its startup, depending on the OS language settings. Currently, the following languages are supporting: English, Russian.
o The program itself requires very small system resources in the time of idle, though it has interface cute enough. Also, the optimizer has an option which allows it to require yet less system resources on the idle, when it is minimized into the tray.
o The optimizer is very simple in use - it has the functionality which, in the Author's opinion, is the truly required for the "Memory Optimizer". Also, the program's executable file has a small size.
o The program is freeware since the Author doubts anyone will buy such a weird and specialised stuff
Technical detailsAs have already been stated above, the optimizer is a 32 bit program, but it actually supports for optimization the size of memory bigger than 1...2 GB - the usual maximum for 32 bit "memory optimizer" on 32 bit and 64 bit system, respectively. This limit is overcomed by using "distributed processing" - in the Advanced mode the interface you're working with is the process-father, which runs multiple processes-childrens (will name them an optimization subsystem(s) or just the subsystem(s)). Each subsystem allocates the memory buffer for "optimization" with the maximally possible size (actually - the buffer which will be agressively accessed) from the entire size requested for the optimization. For example: on x64 Win 7 there is 2 GB contiguous buffer available for the 32 bit application; if the user specifies to optimize a 6 GBs of RAM, then there will be 3 subsystems started by the synchronizing and controlling system - interface.
Theoretically, the program supports unlimited memory size - because the hardware progresses in parallel. Practically, it was successfully tested on 8 GBs RAM system, with optimizing of 6 GBs of it. Thanks to
Frank (
frktons) for doing the test long ago on the beta stage of program development.
Also, there was a crazy-overloaded test of the synchronization system on the alpha stage - 96 working subsytems optimizing 32 MBs each.
If anybody could test optimizer in Advanced mode with optimizing of over 8 GBs of memory on suitable computer - this is very appreciated!
The program is entirelly written in C++ (pure WinAPI) using MSVC10 compiler.
Important notesThe Author of the program knows the fact about arguability on the usefulness of the "Memory Optimizer"-class programs. So, please do not make such obvious comments here.
Many other "memory optimizers" Authors promise that their optimizers will increase the performance of the system; will unload an unused drivers; will eliminate the problems with memory leaks in the other (!) programs used on the system; will defragment the RAM; and many other, almost the same -
impossible - promises and features. All these promises are not true. There is no memory optimizer which able to "unload the unused driver" reliable and/or at all - it anyway does not have the "moral rights" to do this, because this could lead system into BSOD. There is no memory optimizer which able to eliminate or, at least, decrease the memory leaks in any other programs - this can be done only by the original software developers. There is no optimizer which able to defragment the RAM - this is the thing which theoretically able to do the Windows kernel only, but practically, for relatively big memory areas (the more so - for entire memory) - this is impossible even for the kernel. Of course, for any memory optimizer this is impossible the more so, even if the Authors claims conversely. And, of course, optimizer cannot speed-up the system, cannot make old computer to run faster etc.
You can to ask, for what to use the optimizer, if so? The answer is simple: RAM Clear is the tool for using in the circumstancies where it will be useful - relatively rare, but bothering, when you do not have simple but useful tool to do the action. For instance: imagine you need to free-up some volume of the RAM for launching some memory-angry program, or you just want to swap to the page file all the memory leaks already occured in working programs, without re-launching these programs. As practical instance: you need to run a Virtual Machine, but on the host computer there is no available free RAM enough to emulate the guest (virtual) computer. In such circumstance you need to close some programs, maybe even reboot the system to get enough free memory. Or you can to try to launch VM many-many times, then, maybe, the Windows will slowly free the volume of the RAM required, and the VM will run after all. Much more simple and convenient solution in such circumstance is: use "memory optimizer". It is better to use the optimizer which does not claim that it does some really fantastic things (like elemination of the other program's memory leaks...), and does not have a billion of the features in the manner "just to be".
RAM Clear - is a simple and reliable optimizer providing the functionality which is truly required for robust "every-day-usage memory optimizer". Also, RAM Clear has a feature which do not have any other memory optimizers known by the Author: it supports theoretically (theoretically...) unlimited memory size - as much as the OS supports, and at the same time it virtually works and is equally functional on any computer from ~1997 year
The inarticulate description
of the some
hardcore feature usage
and
the
warningThe program has the agressive Virtual Memory loading feature, which could be used for memory stress-tests purposes: for instance, to check the system and applications on the low VM condition.
This feature should be used very carefully and then and only if you're understand what are you doing and which results this could to bring, because many programs do not designed to handle low memory conditions, and they could just crash or run improperly when the test is going. Also an impression is possible that the system or programs are hang, but this is not so - just intensive disk I/O when swapping while stress-testing makes the system to slow down (temporarly hang).
Because of the unlimited memory size supported for the processing in the Advanced Algorithm Mode, this feature could be used on the systems with huge amount of the VM and the RAM.
This is really useful feature - you can test the behaviour of the programs in low memory conditions with minimal actions - just enter the size of the currently free VM, and click "Optimize" with the [Ctrl] key hold down. When you're pressing the [Ctrl] key, the free RAM indicator on the main window changes the textual information to a size of currently free VM; the progress bar still shows the percentage of the free RAM. The same implied to the tray icon tip.
Now some important notes on this feature. When you're holding down the [Ctrl] key and pressing "Optimize" button, the program is skip checking the number you've entered for being too big - you can enter any value you want. This is made
intentionally - to provide the hardcore feature of memory-stressing. But, if you'll enter the size for the processing that is bigger than the size of free VM, the program will fail to allocate such amount of memory (since it will not at all be available in the system), and will show you an error message. This isn't the bug in the optimizer. Hold [Ctrl] key down, and have a look to the textual indicator - in general, it will show you the approximate size you should to enter. But there is some note again: the program may warn you that you've entered too big value for your system. You can confirm continuation, and the program could run properly, but as well it is possible it will not run and will fail as if you've entered knowlingly big value. You should decrease the size entered by couple of units and try again, until the program will continue processing without error messages (it may warn you still about your request for processing on the edge of the system resources, though).
All these notes should not scare you, and should not make you to think that the program is "weird buggy stuff". Just this feature (memory-stressing) is the field really lying on the same edge of the system resources, and there is no common running plan - you should sort it out: which parameters are suitable for your particular system.
Also, please remember that the RAM Clear is the user-mode program as well, and when it doing optimization, it is running in the same agressive, extremal low memory conditions. It seems to be pretty stable, but the Author cannot guarantee that it will not fail on every existing computer hardware and software configuration. Some program interface flaws are possible when doing stress-testing, like missed text labels on the buttons etc.
You can always stop the optimization by clicking the "Abort" button (it was "Optimize" button), by closing the program's window with a title button or just by clicking the [Esc] - all optimizing subsystems will fast terminate. Or you may just not use the memory stress-testing feature if you don't have the need in it.
This is the project just for fun in the most part. So, any constructive comments will be accepted, any criticism will be ignored :lol:
P.S. many thanks to Dave (dedndave), who fearlessly tried to check the documentation for a proper grammar. @Dave: even do not try to decline this statement :P Your help anyway was very instructive :t