Resource Exhaustion Tools

I’m trying to test a normal Windows desktop GUI app, and want to see how it performs in CPU-starved/low memory/low disk space conditions. I’ve been looking around for test tools which will eat all the CPU or memory at the press of a button, or fill your disk up in a nicely reversible way, but I can’t find any. It would be nice if it also allowed you to easily simulate a network disconnect, either from all machines or a defined subset. All the “QA software” I can find seems to be entire testing frameworks, or is for web app load testing.

Does anyone know of utilities which do roughly what I want? I would hope that many QA departments test their software in such conditions, and so other people will have encountered this problem before me…

16 thoughts on “Resource Exhaustion Tools

  1. IIRC Visual Studio 6 used to come with a tool that did this. You could tell it how much memory and other resources to use up. Didn’t do network disconnects.
    Visual Studio .NET doesn’t seem to include it, might be part of the Windows SDK which is a free download from MSDN.
    I think the name was of the utility was “Stress”.

  2. Try running two CPU bound processes in a dual-cpu machine in windows. The processes will starve everything else running at the same priority – I can reproduceit all the time, across different versions (something that won’t happen in linux and it’d be considered a bug there)

  3. Just run your program inside Windows inside Bochs inside Linux, and I can guarantee you that no matter how powerful your PC is, the program will starve for CPU ressources ;) For the memory, just choose an awfully low amount of memory to be given to the virtual PC…

    If you want to be a bit more keen to the program, use qemu… which will nevertheless really put your program under ressources pressure.

    _FrnchFrgg_

    PS: Ok, I know, I am stupid. Just be kind to my ego and act as if I didn’t ;o

  4. Oh, and eating all the memory in a nice reversible way isn’t possible in Windows. The OS will begin to behave strangely and probably won’t recover even when memory will be freed — if you manage to get it to last long enough to test your app and click the “release resources” button, that is.

  5. Consume.exe from the Windows 2003 Resource Kit Tools (“Just an innocent stress program”) really is fun if you want to try breaking stuff. It can consume various resources: physical memory, CPU time, page file, disk space and even the kernel pool. Although for Win2003, this installed into my XP install fine, but I don’t know about Win2000 compat.

    The only downside is you can’t specify how much of the resource to use, only which one to consume. Also be warned: always remember the -time option, or you may be hitting that physical reset button sooner than you would have liked!

    http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en

  6. There’s a program called heavyload that does something a bit similar to this.

    Or just run BOINC doing cancer research or something and turn up the priority to normal.

  7. I find that firefox 1.5 uses up all my CPU quite regularly. :I find that firefox 1.5 uses up all my CPU quite regularly. :

  8. I have the same problem with firefox, It consumes all my computer ressources. Im seriously considering moving back you IE.
    I have a suspision that it all the extension that does it.