[release] Memory Cleaner V. 0.1b

Well, I'm here again. :lol:

No! No! Not another AveDesk labels release (BTW: today I've add 2 new version... :Pthread), but a little utility to keep your modding memory usage at a decent level...

Memory Cleaner is a tool that allow you to say to processes that currently run on your system, to release the memory that they don't need at the moment.

Many of you (developers, first) goes to think that's a kind of GC (Garbage Collector) so....yes it is, but is manually controlled.

While I code this tool, I say to myself: "Why not whit a Panther layout?" so I add a little interface modification (note the buttons glow effect!), here the screen shot e below, the link to download it.

Read well the Readme file inside the zip and tell me what you think.

Remember: it's a beta!

memrel.png

Download here

Have a lot of fun ;)

#100751

Excellent idea.

Im afraid to say it, but those buttons certainly look wrong.

#100754

I think they're cute.

I may have to see about this later today.

#100757

Very nifty utility with a :wub: - look :)Kudos!.

One little comment: when the listview is refreshing, it is flickering like hell; try to eliminate the background-erasing or buffer the listview contents.

BTW: I assume you used SetProcessWorkingSetSize(hProcess,-1,-1) which I added to my app yesterday to elimate high mem-usage :P

#100765

Thanks ThePowderRanger.

It's a nice looking little application. Haven't tried releasing any memory at the moment, but will do in due course. ;)

One thing though. The list refreshes itself quite frequently, about once every 5 seconds or so... Is there any way of pausing it? (Apparently the pause button doesn't work).

Other than that, nice! :lol:

#100766

Originally posted by silencedge@Jan 16 2004, 08:36 PM

Thanks ThePowderRanger.

It's a nice looking little application. Haven't tried releasing any memory at the moment, but will do in due course. ;)

One thing though. The list refreshes itself quite frequently, about once every 5 seconds or so... Is there any way of pausing it? (Apparently the pause button doesn't work).

Other than that, nice!  :lol:

Retray to dl the zip: I've just fixed it, sorry. :rolleyes:

#100768

Originally posted by AndreasV@Jan 16 2004, 08:35 PM

Very nifty utility with a  :wub: - look :) Kudos!.

One little comment: when the listview is refreshing, it is flickering like hell; try to eliminate the background-erasing or buffer the listview contents.

BTW: I assume you used SetProcessWorkingSetSize(hProcess,-1,-1) which I added to my app yesterday to elimate high mem-usage :P

Oh yes, it's SetWorkingProcessSetSize than make the difference ;) .

For the comments: it's what a developer need to work better every day and, yeah, in the next release I think to use a DBuffering algorithm.

@ silencedge:

I know that a quite annoying and in the next version I've plan to include user preferences.

Thanks for comments. :lol:

#100772

looking cool, :P

#100777

Very nice ^_^

#100781

Very nice idea.. Especially for us with RAM lacking PCs.. (Y)

#100787

Great Tool ! (Y)

Works well so far and proves to be very efficient. Sure it's gonna be part of my standard config now :woot:

Way to go :rule:

#100791

Thanks to all for comment!! :D

#100796

good idea

#100827

Originally posted by ThePowderRanger@Jan 16 2004, 07:45 PM

I know that a quite annoying and in the next version I've plan to include user preferences.

Thanks! :lol:

It's seriously working great. :who's your daddy: Nothing to complain about! :woot:

Way to go, mate. ;)

#100949

i must say... nice work (Y) . explorer goes from 30mgs down to one.

and no bug yet eitha.

-The Unknown

#100957

I think I found some kind of bug :) I have net framework 1.1 and I get this error

look at the attached image

post-2889-1074322141_thumb.jpg

problem.jpg
problem.jpg

#101034

uh, this message don't give any info on the error :blink:

I think that you run an app that not support API functions for freeing memory...

Can you post your entiere task list after this error occurs (also by PM).

another qestion: crash during run or before?

Bye :D

#101064

Suggestions: Make the buttons default to the theme we use... it will look better :) and the tray icon should be made nicer...

#101067

Originally posted by Synthesis@Jan 17 2004, 11:06 AM

Suggestions: Make the buttons default to the theme we use... it will look better :) and the tray icon should be made nicer...

yeah, I'know that you all folks (as I too) prefer uniform interface, but this app it's experimental (tray icon included) :D .

If this can help: I'm currently work on a new version of MountChecker desklet for AveDesk, but I hope that the next rel. of MemCleaner can support enable/disable own theme or, why not, skinning support.

Stay tunes !! ;)

#101068

Isn't it ironic that, when you "attach" memory cleaner to all the processes on your system, it becomes the biggest memory hog? :P

On a slightly different note, does anyone have any idea if this is likely to create performance "issues"? Surely you can't just get rid of a chunk of a program's memory without it losing data that it's paged in, right? :blink:

After a while using it, I'm having no problems... My only request would be that we can set two things - to automatically "attach" to any new processes, and to start in the systray.

#101073

eh, eh :lol: yeah, it's ironic, but if you reduce it to tray and take a look to Task manager, you can see that it's use about 700k 1000k:smartass: . This because Windows isn't a good "painter", so if we don't tell it to draw nothing, it takes light memory.

And yes: your note is partially right, but if you know WIN32 API you know that there aren't any functions (poperly used) that brings drastics lost of performances.

BTW depends also from the hw you have. :lol:

#101075

Originally posted by ThePowderRanger@Jan 17 2004, 10:38 AM

eh, eh :lol: yeah, it's ironic, but if you reduce it to tray and take a look to Task manager, you can see that it's use about 700k 1000k:smartass: . This because Windows isn't a good "painter", so if we don't tell it to draw nothing, it takes light memory.

In the tray, it's using ~15Mb consistently...

Admittedly, not much considering how little everything else is using, but it's still kinda ironic that it uses so much when it makes everything else use so little ;)

#101094

:blink: strange... On both systems that I've used for test (5 PC with different conf.) the max mem usage when stay in tray, it's about 500-600k.

Someone else have the same issue :blink: ?

#101133

Bugs (I think) I've found;

1. Once you minimalize to tray, and reopen it, selecting processes don't STAY selected (like if I selected explorer, minimalized, restored and then selected mozilla; when the list refreshes mozilla doesn't stay selected). I've tried this with other things like explorer and the same happens.

2. Sometimes when start/restoring I get an error that gives me the option to "continue", "quit" and view the details, I forgot to copy the info.. If I get it again I'll post it here.

A great app, non-the-less.. Changed page-file usage from 130ish to 110MB! ^_^

Oh and yeah, I get the same issue with the Cleaner using more and more memory as I select more processes (it can go from 3MB to 8MB at times)..

Edit; Here's the message..

See the end of this message for details on invoking

just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************

System.NullReferenceException: Object reference not set to an instance of an object.

at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)

at System.Windows.Forms.NativeWindow.DefWndProc(Message& m)

at System.Windows.Forms.Control.DefWndProc(Message& m)

at System.Windows.Forms.Control.WndProc(Message& m)

at System.Windows.Forms.ListView.WndProc(Message& m)

at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)

at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************

mscorlib

Assembly Version: 1.0.5000.0

Win32 Version: 1.1.4322.573

CodeBase: file:///d:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll

----------------------------------------

MemCleaner

Assembly Version: 1.0.1476.36458

Win32 Version: 1.0.1476.36458

CodeBase: file:///D:/Documents%20and%20Settings/esXXI/My%20Documents/MemCleaner.exe

----------------------------------------

System.Windows.Forms

Assembly Version: 1.0.5000.0

Win32 Version: 1.1.4322.573

CodeBase: file:///d:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll

----------------------------------------

System

Assembly Version: 1.0.5000.0

Win32 Version: 1.1.4322.573

CodeBase: file:///d:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll

----------------------------------------

System.Drawing

Assembly Version: 1.0.5000.0

Win32 Version: 1.1.4322.573

CodeBase: file:///d:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll

----------------------------------------

************** JIT Debugging **************

To enable just in time (JIT) debugging, the config file for this

application or machine (machine.config) must have the

jitDebugging value set in the system.windows.forms section.

The application must also be compiled with debugging

enabled.

For example:

When JIT debugging is enabled, any unhandled exception

will be sent to the JIT debugger registered on the machine

rather than being handled by this dialog.

#101142

wow, suprisingly GOOD! (Y)

THANKS A LOT (also could you have the buttons panther like?)

#101219