[sponsored links]


RAMpage

User Guide


RAMpage User Guide

Version 1.6                            8 January 2001


Contents


Introduction

RAMpage is a small Windows utility that displays the amount of available physical memory, (RAM), in an icon in the System Tray. It can also free memory, either by double clicking the icon, or by setting a minimum memory threshold that activates the program automatically. In addition, a utility is provided to allow users to free memory after an application exits. RAMpage, and its source code, are available free of charge.

When used with sensible settings, and in conjunction with other system "tweaks", many users report that RAMpage helps improve the reliability of their computers, particularly on systems that do not have a lot of memory to begin with.

There is a popular misconception that maintaining lots of free RAM improves the performance and reliability of a computer. RAMpage can be used to achieve this goal, but this is, in the author's opinion, a misuse of the program.


License

RAMpage is FREEWARE. You may distribute it freely, provided the distribution is not for profit.

The author does not offer any distribution or support licenses or warranties. Support for this program is supplied by the author on a goodwill basis only. All software, support, instructions and advice are supplied "as is". The author does not accept responsibility for any consequences arising out of use of such software, support, instructions and advice.

The source code for this software is Open Source. You may use it as you see fit, subject to the following trademark restrictions.

The RAMpage name, icons and logo are trademarks of the author. They may be used when reviewing or promoting the original RAMpage software. They may not be used or altered in any other way, (including use in derived or recompiled versions of the software), without the author's prior written consent, except in cases where the original code is recompiled soley for personal use.

Author: John Fitzgibbon. fitz@jfitz.com.


Installation

Note: If you have a previous version of RAMpage running on your machine, you should uninstall it before installing the latest version.

You can download RAMpage here: http://www.jfitz.com/RAMpage/rampg16.zip

RAMpage comes as a zipped setup file with install/uninstall support and a configuration screen. You will need a tool for unzipping the setup file. Winzip, (http://www.winzip.com), which is Shareware, is one of the most popular, though many Freeware alternatives are available.

When you unzip the file, run Setup.exe to begin the installation. (Note: Many unzip tools recognize when a zipped file contains an installation program, and they will automatically begin the installation for you.) For most users, the default installation options will work fine.

If you do not wish to use the installation tools you can download the RAMpage executables directly: http://www.jfitz.com/software/RAMpage/rampg16_nosetup.zip, (80K). You may wish to do this for any of the following reasons:

  • You don't have full access rights on NT, (which may be required to do a full install).
  • You are running a version of Windows that the installation program does not recognize. (The installer runs on Windows 95, 98, 2000, ME and NT 4.0)
  • You do not want/need the uninstall program in your system directory, or you want more control over the locations and shortcuts for this software.
If you choose this approach, unzip the files to a folder of your choice and run RAMpageConfig.exe.

Software developers, or security concious users who wish to compile RAMpage from its source code, can download the source here: http://www.jfitz.com/software/RAMpage/rampg16_source.zip, (54K).


Getting started

To start the program, select RAMpage from the Windows "Programs" Menu.This displays the configuration screen, where program settings can be changed. The default values should work well for most users.

Clicking "OK" in the configuration screen starts the main RAMpage program. This creates an icon in the System Tray, (in the lower right area of the screen), that shows the number of MB of free RAM.

Double-clicking the icon attempts to free the amount of memory you specified in the configuration screen. Right-clicking the icon accesses a popup menu. The options are:

  • Free Memory - Same as double-clicking the icon.
  • Details - Lists total/available physical, page, (swap), and virtual memory.
  • Help/Config. - Displays the configuration screen.
  • Exit - Quits RAMpage.
If you set the "Free memory automatically" value to a non-zero value in the configuration screen, RAMpage will free memory whenever available RAM falls to, or below, the level you set.

That's about all you need to know to use RAMpage. If you find the program is slow to free memory, or you have problems with applications running low on memory, or you are just interested in learning more about what RAMpage does and other ways to improve the reliability and performance of your computer, please read the FAQs at: http://www.jfitz.com/software/RAMpage/RAMpage_FAQS.html


Uninstalling RAMpage

If you install RAMpage using the supplied setup program, you can uninstall it from the "Add/Remove Programs" Control Panel option, or by selecting the "Uninstall" option from the RAMpage menu under the Windows "Programs" menu.

If you do not use the setup program, or if you've messed up an install, or done a partial uninstall, or just want to "uninstall the uninstallers", here are the details you may need to clean up your system. (Note: If you're not comfortable deleting system files and editing the registry, its probably best to leave well enough alone.)

Files:

  • C:\WINDOWS\SYSTEM\Gksui18.exe - This 68K program stays even after a clean uninstall. You can remove it if you do not have other programs that were installed with the GK setup kit. (If in doubt, leave this file to avoid possible problems with other uninstalls.)
  • The program directory and its contents can be removed:
    • GKDeReg.exe
    • RAMpage.exe
    • RAMpageH.exe
    • RAMpageConfig.exe
    • rr.exe
    • ReadMe.txt
    • Uninstal.dat
Registry:
  • All settings under: HKEY_CURRENT_USER\software\RAMpage can be removed.
  • A value called "RAMpage" can be removed, (if it exists) from the following key: HKEY_LOCAL_MACHINE\software\Microsoft\Windows\CurrentVersion\Run (This is the key that supports the "Start RAMpage when Windows Starts" feature.)
  • All settings under: HKEY_LOCAL_MACHINE\software\Microsoft\Windows\CurrentVersion\Uninstall\RAMpage
  • If you removed C:\WINDOWS\SYSTEM\GKSUI18.EXE, then you can also remove a corresponding value "C:\WINDOWS\SYSTEM\GKSUI18.EXE" in: HKEY_LOCAL_MACHINE\software\Microsof\Windows\CurrentVersion\SharedDLLs


Using the "Run and Release" utility

RAMpage comes with a utility that allows you to trigger memory freeing when an Application finishes running. The utility is called "rr.exe" and can be found in the folder where RAMpage was installed. To use this utility, follow these steps:

  • Create a shortcut to the Application you want RAMpage to run after, (on the Desktop or Quick Launch bar for example).
  • Right-click on the shortcut and select "Properties".
  • In the "Target" field add the full path to "rr.exe" in quotes before the existing entry.
  • Click "OK".
For example, a shortcut to Wordpad might have a Target field like this:

"C:\Program Files\Accessories\WordPad.exe"

If RAMpage is installed in "C:\Program Files\RAMpage", the new Target would look like this:

"C:\Program Files\RAMpage\rr.exe" "C:\Program Files\Accessories\WordPad.exe"

Note that the quotation marks are important. Both the rr.exe program and the application to run should be enclosed in quotation marks, (and separated by a space). Some shortcuts may include additional parameters after the application name. These parameters should be left "as-is".

When an application with this type of shortcut exits, RAMpage will attempt to free memory. Note that RAMpage must be running, (either hidden or in the tray), for this utility to have any effect.

You will notice that the shortcut's icon changes to a rather boring window icon when the shortcut is changed. You can restore the original icon by right-clicking on the shortcut, then selecting "Properties" followed by "Change Icon". Ignore the warning that rr.exe contains no icons, then select "Browse" and choose the original icon from the original application.


Command Line Parameters

NOTE: MOST USERS DO NOT NEED TO USE COMMAND LINE PARAMETERS OR WORRY ABOUT CREATING SHORTCUTS OR SCRIPTS. IF YOU DO INTEND TO USE COMMAND LINE PARAMETERS PLEASE READ THIS SECTION CAREFULLY. IN ADDITION PLEASE CONSULT THE FAQS IF YOU HAVE PROBLEMS. MOST PROBLEMS REPORTED ARE A RESULT OF MISUNDERSTANDINGS THAT ARE COVERED HERE OR IN THE FAQS.

RAMpage does not "need" the configuration program RAMpageConfig.exe. All the features of the basic RAMpage program can be controlled with command line parameters. This is useful for users who want to call RAMpage from a batch file or script, or for administrators who want to push a standard version of the utility out to every machine in an organization.

The RAMpage command line may include any of the following parameters:

  • B - Show values in the "Details" window in Bytes, (default is MBytes).
  • LG, LW- Add LG or LW to default to "Luminous" Green or "Luminous" White digits.
  • G=N - The "G" option specifies a graphic display type.
    • N=1 specifies a simple guage. The height of a colored bar rises and falls as memory increases and decreases
    • N=2 specifies a bar graph. A colored bar moving from right to left tracks increases and decreases in memory
    • N=3 specifies a line graph. A line moving from right to left tracks increases and decreases in memory.
    • If the "G" option is used, but "N" is not 1, 2 or 3, then the simple guage is used.
  • S - "Sound". Beep when freeing memory automatically.
  • O - "run Once". Performs a memory freeing operation then exits.
  • U=X - "X" is number of seconds between updates, (default=5).
  • M=Y - "Y" is number of MBytes to attempt to free, (default=10).
  • R=Z - "Z" is the target number of free MBytes to reach. ("M" and "R" options are mutually exclusive).
  • T=Z - Threshold. If RAM falls to, or below, "Z" MBytes the program attempts to free RAM.
  • D=Y/N - Defragment freed memory into a single free chunk,Y=Yes, N=No. (Default is to defragment if the amount of memory to free is less than 1/3 of total memory.)
  • A - Always free memory, even if the last attempt failed. (Default is to become less persistent if free memory remains consistently low.)
  • P=PATH - "PATH" specifies the path to the folder where RAMpageConfig.exe resides. If specified, the Help/Config menu option will run RAMpageConfig.exe. The default is to display a short help message box. Normally, this option is only required if you are running the fully installed version of the program. Everything after the "P=" is included in the path. No quotes are required. NOTE: IF INCLUDED, THIS MUST BE THE LAST PARAMETER ON THE COMMAND LINE.
Sample Command Line

C:\Program Files\Accessories\RAMpage.exe LG U=2 M=20 T=3

This command line tells the program to use luminous green numbers, to update the status every 2 seconds, to attempt to free an additional 20 MBytes or RAM when requested, and to automatically attempt to free RAM whenever the current free RAM drops to or below 3 MBytes.

A typical call in a batch file or script might look like this:

rampageh M=20 O

This executes the hidden version of RAMpage, instructing it to free 20M, "once off". RAMpage will free the memory, then exit immediately. The "O" option causes the program to ignore all settings other than "M", "R" and "D".


Credits and Acknowledgments

The code for controlling the tray icon is based on an example by Michael T. Smith/R.A.M. Technology.

Jonathan Teh, author of the excellent, (and free), MBProbe, (http://web.bham.ac.uk/jst829/mbprobe/), set me straight on how to make the tray bitmaps work on NT.

Vladimir Sorokosh supplied suggestions for the enhancement to use the optimized memory allocation function, and the bug fix for the tray icon display on certain Windows configurations.

Jason Hood supplied the details needed to make the "run and release" utility possible.

Jacob Navia created the lcc-win32 compiler from Chris Fraser and Dave Hanson's original lcc. (http://www.cs.virginia.edu/~lcc-win32)

The install/uninstall program, GKSetUp, is a freeware application by Gero Kuehn, also available for Professional use. (http://www.gkware.com)

The "official" testers for version 1.3 were Alex Schoenmakers, (NT) and Andrew Murphy, (Win 98). They showed great patience, and gave excellent feedback on the early prototypes. 1.4 - 1.6 evolved from user feedback. Thanks to all those users who brought bugs to my attention, and worked with me to test patches.

Finally, many thanks to everyone who emailed comments and suggestions. I probably wouldn't have bothered without your support.


Revision History

08/30/1999 1.0

  • Original Version.
11/02/1999 1.1
  • Fixed NT display problem.
  • Added "Luminous" digits.
  • Improved "Help" window, (but not much).
11/12/1999 1.2
  • Optimized the code, (memory footprint now about 180K).
  • Rounds up/down to nearest MByte, (was truncating).
  • Added option to display "Details" in Bytes, (default is MBytes).
11/27/1999 1.3
  • Added ability to automatically free RAM.
  • Added logic to prevent excessive automatic attempts to free RAM when memory is not being freed.
  • Added a configuration screen.
  • Added a help screen for choosing parameters.
  • Added standard install/uninstall, with Registry documentation.
  • Further optimized the core executable. Footprint is now 156K.
  • Fixed a bug that could cause a small memory leak. (Embarrassing!)
02/19/2000 1.4
  • Default values in the configuration screen are now calculated more "intelligently". (They are based on the machines total memory.)
  • Added "Hidden" option, (allows program to run without tray icon). Running hidden means automated free only, but memory footprint is smaller.
  • Added Sound, ("S"), option. (Beeps when freeing memory automatically.)
  • Added memory Defragmentation, ("D"), option.
    • "D=Y" means always defragment memory.
    • "D=N" means never defragment.
    • Default is to defragment only when freeing less than 1/3 of total memory.
  • Added Path, ("P"), option. If included the "Help/Config" menu item runs RAMpageConfig.exe using the specified Path. (Otherwise, the existing Help/About box is displayed.) Note: Path MUST be the last parameter.
  • Added option to run Once, ("O"). This does a free, then exits immediately.(Threshold, display and update intervals have no effect in this mode.)
  • Changed color definition for "white" from RGB=(0xFF,0xFF,0xFF) to (0xF0,0xF0,0xF0) to fix NT display of white as dark gray. Note: 256 color display on NT still shows up dark gray. Workaround is to use more colors or use the green digit type.
  • Fixed bug that caused tray icon to display upside down for some users.
  • Automatic freeing is never called if Threshold=0. (Previous version would do freeing if free memory was actually 0 bytes).
06/05/2000 1.5
  • Added graphic display types.
  • Added "Always", ("A"), option. Frees memory even if last attempt failed.
  • Added email button on the help page.
  • Added buttons on the help screen that link to online help and home page.
  • Added quotes around executable name in registry startup entry. (Fixes bug where program would not start automatically for some users.)
  • Removed most of the text in the help box from the core executable. (Rarely seen by users -- it now just points to the home page.)
  • Modified code to make foreign language support easier.
  • Upgraded the setup program to support Windows ME and reduced setup file size.
  • Changed code to use optimized memory allocation function. (Reduces code size by 18K and memory footprint by about 10K.)
  • Added foreground and background bitmaps to fix some display problems with certain Windows configurations
01/05/2001 1.6
  • Added "R=X" option to allow users to specify a target level to reach.
  • Removed restrictions on threshold and amount of memory to free, (against my better judgement, but I'm tired of the email requests).
  • Added the "run and release" utility, rr.exe. (Used to trigger RAMpage when a program finishes executing.)
  • Switched to using the freeware lcc compiler. This reduces the code size considerably.

[ Home ] [ Download ] [ User Guide ] [ Help ]