Sunday, December 09, 2007

Memory Monitoring and Logging Utilities

New needs for freeware utilities.

So last week I was evaluating the need for memory on some systems. This was different from my previous project where we KNEW we needed memory but had to decide what kind in what configurations.

On this project we already were running 1 GB system RAM. The systemboard could take up to 2 GB, but it wasn't clear if adding the extra 1 GB RAM to bring it up to 2 GB total would be justified. The systems are XP Pro laptops.

My plan was to enable Free Memory load monitoring and logging throughout the day. I wanted to capture the memory load due to running a configuration of the usual five or six applications we generally have open all day long: Outlook, 2-3 Netware administration tools, a web-browser, our help-desk logging application, along with the standard AV and system processes we have configured. If I could consistently show that free system memory dropped too low, and the swap file climbed too high, maybe I could make a case.

So, how to log free system memory usage?

Solution First

Let me cut to solution I found and am using first.

MemStat XP - (freeware) - The developer's product page has closed down, but I have linked to it's availability on Softpedia. This fantastic and tiny application tracks physical and swap memory used on your system. It says it is compatible with Windows 2000/XP but I am running it right now with no issues on my Vista system as well. What makes it special is that it was the ONLY freeware solution I could locate that allowed a fully customizable logging to text-file of memory usage. It can run in the system tray with several custom icon styles, you can place a monitoring bar/chart on your desktop which support transparency and color changes. It also can be set to free memory at certain thresholds. I generally don't use memory-freeing utilities, but it does work. This can be enabled/disabled. Would you believe the developer also managed to include a memory benchmarking tool in it as well? Yep!

The logging feature alone makes this a worthwhile product to keep on your system. Logging can be set to begin at startup if you wish. You can set the "get information" time to snag the memory values at any interval (in ms), give the log-file any name you wish, append existing logs (rather than overwriting them), limit log-file size, and direct write to the logfile.

(In the screen-capture above, you can see the configuration window with four tabs, the log-format editor, below that is the long and thin status bar which I leave open all the time in transparent-mode, and finally there is a system tray icon (the bar with the number over it) under the word "swap" on the MemStat status bar.)

Even handier, you may configure your log-file format to include value logging for free physical memory, free swap-file memory, used physical memory, used swap file memory, memory usage (%), boot time, and time/date fields.

I simply can't imagine not running this utility on my systems now. I have the bar running in minimal-mode and it is great to be able to unobtrusively see and monitor the amount of free memory on my systems. For example, now I can directly see the impact Virtual PC sessions with various RAM configurations have. I can tell when Firefox has gobbled up too much memory, and needs to be shut-down/re-launched to free memory.

I can see that paying the extra $$ to load up my Vista laptop to it's max 2 GB was the best thing I could have done to improve my Vista performance. Where before I had just 1 GB RAM, now I see that (when using my standard applications--Firefox, Windows Live Writer, maybe a utility or two) I have on average 1022 MB free system RAM at all times now. I shudder to think how close to the limit I was reaching while doing this under 1 GB RAM.

This is simply an amazing and must-have application. Once I unpacked the program files and copied them to a USB drive, I found they functioned great on other systems. Good to know when working on a guest system.

more screenshots - via Softpedia

MemStat XP - no longer supported, but still highly Valca recommended!

Other Memory Tools and Utilities

Before I finally arrived at MemStat XP, I confess I tried a LOT of other tools. Many are very good and useful, but since I was primarily focused on a logging capability, I didn't adopt them. That said, if you need a memory monitoring utility WITHOUT logging, you may find something that better fits your needs.

Microsoft Performance Monitor - (freeware) - This advanced system utility from Microsoft can perform a multitude of logging functions, memory points included. However it did not have the specific "free memory" logging that I was looking for. "The Performance Monitor Wizard simplifies the process of gathering performance monitor logs. It configures the correct counters to collect, sample intervals and log file sizes. This wizard can create logs for troubleshooting operating system or Exchange server performance issues." I was very impressed with it, however and am glad to have discovered it. It will help future system performance-point monitoring.

The Performance Monitor Wizard simplifies the gathering of performance monitor logs. It configures the correct counters to collect sample intervals and log file sizes. This wizard can create logs for troubleshooting operating system or Exchange server performance issues.


• If you are troubleshooting a performance issue or an issue that looks like a memory leak, the objects that Performance Monitor should log include but are not limited to the following items. Memory resource issues:

Paging file
Terminal Services (if a Terminal Server)

For all other resource issues, add additional counters:

Logical disk
NBT Connections
Network interface
Physical disk
Server work queues
Thread (do NOT capture if a terminal server)
All Terminal Server counters (if a Terminal Server)
All Protocol counters bound to network adapters

Check out these additional "how-to" links to get a better understand of its features:

MemMAX v1.1 - (freeware) - I liked the nice, clear status bars on this product. It also supports memory freeing activities. It includes command-line support (for running in a .bat file call) as well as the pretty GUI. From the developer description "MemMAX is a FREEWARE memory optimizer & statistics utility. Features include fast & efficient memory optimization, command-line execution mode, VCache settings and real time memory usage statistics. MemMAX was originally developed for the Win95/98 operating systems but it should also function under WindowsME, WindowsNT and Windows2000." Seems to work under Vista as well. Portable off USB.

FreeMeter - (freeware) - This is a really amazing product I REALLY liked this one. It supports multiple charts and information monitoring points. However, the graphs take up some desktop-space so if you are running it on a laptop or single, monitor configuration, you won't likely leave it running "open" all the time. A dual-monitor configuration might be better. Supports all versions of Windows (including x32 Vista). Tons of features: Monitors disk-drive space, CPU usage (multiple processors are supported), system resources, physical memory, page file, page faults, file caching, network performance, disk performance, running processes, network pings, and system up-times. User configurable alert trip-points with alarms (visual/sound). The paid ($) version has quite a number of additional features that might be worth the low purchase cost including email-notification on multiple monitoring points.

FreeRAM XP Pro - (freeware) - This tool can run automatically to free memory when thresholds are reached. It also has large, clear memory status bars. The GUI looks a bit busy to me for some reason. From the developer's description:

Freeware application to free and optimize your computer's RAM (Random Access Memory), resulting in an increase in system performance and productivity. Automatically configures itself for ease of use and also features advanced options and customizability. FreeRAM XP Pro has been designed to be easy to use yet highly customizable by computer novices and experts alike.

Features and options include:

  • Automatic, real-time memory monitoring and optimization
  • Fast, threaded memory freeing with stop option
  • AutoFree option intelligently optimizes RAM without sacrificing performance
  • system metric and performance monitors
  • Advanced tray support
  • Memory reporting and diagnostic logging
  • Simple, attractive interface
  • RAM-cuts (RAM-freeing Windows shortcuts)
  • Customizable Windows hotkey support
  • Access to Windows memory-related tweaks that could enhance system performance (new in 1.50)
  • Process memory usage reporting (new in 1.50)
  • Unique memory compression technology directly reduces applications' "working set" memory requirements instantly and without swap file usage: completely unlike other memory programs (new in 1.50)
  • More options and customizability

Memory Usage Monitor - (freeware) - Very tiny and USB portable memory monitoring tool. Almost zen-like in its simplicity. Shows both physical and virtual memory on the system, supports XP themeing. It just does what it says and not much more.

RAM Def 2.71 XTreme - (freeware) - Link via Major Geeks site. Provides memory usage information in a large, clear to read window. Primarily is to be used as a memory defragging utility if that's your thing. While I'm a big proponent of Window drive and registry defragging, I can't say I've ever given any thought to memory defragging.

Want more? Major Geeks has a nice list of both freeware and $ memory tools: MG Memory Utilities

System Memory Evaluation tools

If you need to know more about the physical RAM on your system, you might also want to take a look at these great tools I posted about earlier:

CPU-Z - (freeware) - Provides detailed technical information on key system hardware: The CPU name and number, core stepping and process, package, core voltage, internal and external clocks along with the clock multiplier, instruction sets, and cache information. The Mainboard specifications along with vendor, model, and revision, BIOS model and date, chipsets and sensors, and the graphics interface, Memory frequency and timings, module specification (total and by module) vendor, serial number, timings tables. And finally the system information. It is way-awesome, tiny, and USB portable.

CPU Rightmark - This site has a multitude of utilities worth downloading and using including these two:

  • RMMA - (freeware) - very similar to CPU-Z but provides additional testing tools.
  • RAMTester - (freeware) - checks reliability of memory modules under Windows. Writes patters into memory and then reads them, comparing differences.

Have fun keeping an eye on your memory!


No comments: