Thursday, September 6, 2012

Give Me Back Some Memory

NTSTATUS: STATUS_MEMORY_LOW

What we have here, is a small, tiny, and efficient classic good old fashioned Windows (Win32) app: MemRecover.exe. It also has no actual functional UI/window other than an About dialog, and a tray icon and context menu. Since the app’s purpose is to recover memory, it’d be ironic if it itself is bloated and chews up memory.

OK, so there are other tools out there that can help you optimize and recover memory. Some are pretty nice, but I wanted something small and only did one thing, so I wrote one. Is it really necessary? For me, a little, because I use apps that suck your computer’s blood, I mean memory dry. I don’t want to name names. *COUGH-FIREFOX-COUGH*

The app takes two parameters:

MemRecover.exe [memory%] [interval]

memory%: value from 1 to 100. This is the percentage of physical memory used (threshold) which will cause a round of memory recovery. The default value if no parameter is specified is at 90%

interval: in seconds, the interval between each memory usage check. The default value if no parameter is specified is 60 seconds

You can create a shortcut for the app and add the parameters into it as such:

MemRecover shortcut

The tray icon:

  • Double-clicking it triggers a memory recovery
  • Right-clicking it brings up a context menu, the items all of which should be obvious:
    • Recover Memory
    • About…
    • Exit

As for what’s happening with the app, it provides some information via debug strings. You may use DebugView from Sysinternals to capture them if you’re interested.

Depending on the process you have running, I’ve been able to recover up to 700+ MB of physical memory during a recovery event. For my limited RAM, that’s significant. And maybe it’s good pruning now and then.

MemRecover can be downloaded here: x86 | x64

The MSVC runtime DLL’s are included in case you need them.

Monday, May 21, 2012

ASUS UX31 Zenbook Sentelic Touchpad Driver Problem – With Solution

NTSTATUS: STATUS_BUGCHECK_SENTELIC

For those of you who use the UX31 and have installed the Sentelic touchpad driver (FspUip.exe), you might have noticed it’s severely buggy behaviour of constantly chewing the up CPU when your Windows 7 system is has gone into power save and turned off the display. You can hear the fan running hard during this time.  And you know that this will heat up your machine real bad. If you have your Task Manager or Process Explorer (Sysinternals) turned on and running before it goes into power save, you should be able to see the CPU usage history.

You should also have found that a lot of people have been looking for solutions to this problem. I probably isn’t a solution until Sentelic has a newer version that fixes this. They might have by now, I don’t know.

I decided to work around it myself and wrote a small app to basically kill FspUip.exe when the system goes into power save and turns off the display, and restarts it when it comes out of power save. So far it’s been working well for me. You can download the tool
here.

AutoPowerApp.exe is the tool, and you can save somewhere in your system, and add it to your system startup. It assumes that your Sentelic software is installed in the default path of C:\Program Files\FSP\FspUip.exe. If it isn’t, it won’t work. Too lazy to make that configurable.