• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Yellow Bricks

by Duncan Epping

  • Home
  • ESXTOP
  • Stickers/Shirts
  • Privacy Policy
  • About
  • Show Search
Hide Search

Generating load?

Duncan Epping · Apr 9, 2010 ·

Every once in a while you would want to stress a VM or multiple VMs to test the working of for instance VMware DRS. There are multiple tools available but most of them only focus on CPU and are usually not multithreaded. My colleague Andres Mitchell developed a cool tool which will load a multithreaded CPU load and will generate memory load.

Andrew tweeted about this tool this week and I tested it today. It looks great and it works great.

Saw some tweets wanting ways to generate load in a VM. Here’s one I prepared earlier: http://bit.ly/9A39Xh (multithreaded CPU and mem load). I exchanged a couple of emails with Andrew after this tweet and asked him to write a short explanation of what the tool does:

It’s a pretty simple utility to generate CPU and/or memory load within a virtual machine (or a physical server if you are still living in the dark ages). You can specify the number of threads to generate for CPU load and the approximate load each thread generates. You can also specify how much memory you want the application to consume. There’s a timer so you can configure it to only generate the specified load for a set period of time, and system memory utilisation and system/per core CPU utilisation indicators within the application.

Here’s a screenshot of the app:

Share it:

  • Tweet

Related

Various drs, ESX, esxi, performance, vcenter, vSphere

Reader Interactions

Comments

  1. Chris Waltham says

    9 April, 2010 at 15:12

    For Linux/UNIX users, stress (http://weather.ou.edu/~apw/projects/stress) is a good program to stress-test CPU, RAM, or both.

  2. kopper says

    9 April, 2010 at 15:55

    nice tool

    by the way even when I set RAM to MAX I don’t see the RAM overloaded…

  3. Andrew Mitchell says

    9 April, 2010 at 16:12

    @kopper re: RAM not being overloaded – That’s something I’ve noticed too. If you fire up task manager you’ll see that it’s caused by Windows paging out the data rather than placing it in RAM. The only real way for me to address that it to flag that thread as ‘real-time’ which places it at a higher priority than Windows itself. I considered that but decided not to because it’s not really a safe thing to do.
    I’ll have another look at it over the next few weeks and see what I can do.

  4. Jitterz says

    9 April, 2010 at 17:23

    RAM load not working for me either, but I have noticed it’s offloaded to the paging file but only if I specify available RAM. If I do any more it does nothing, if that makes sense.

    Nice tool.

    thanks

  5. YP Chien says

    9 April, 2010 at 18:23

    Thanks for sharing this great tool.
    Actually, I am in the middle of preparing a white paper on memory sizing in virtualization for our group. I am trying to find something to generate memory load until today.
    The reason I needed something to generate memory load is I keep on finding situations where VM memory get reclaimed by balloon memory during memory shortage. However, this balloon memory never seems to “deflate” even the ESX is in high memory state with tones of free memory. So I would like to see if I could use this tool to force an “active” memory load to get rid of the balloon memory. But looks like the balloon memory still won’t deflate even I tried to generate high memory load. any ideas?

  6. Andrew Mitchell says

    10 April, 2010 at 03:11

    @YP Chien

    Have you checked for memory limits being applied to the VM or a resource pool in which the VM resides?

    Can you run esxcfg-info -r > resource.log and mail the resulting file (resource.log) to me – amitchell_at_vmware.com

  7. wilson says

    12 April, 2010 at 03:21

    cpustress.exe shipped with the windows resource kit many years ago. usually i use that to put load on a single VM.

  8. MattG says

    13 April, 2010 at 01:58

    Andrew,

    Right now I use:
    MaxCPU
    Leakyapp
    IOMeter

    For my ESX/DRS stress testing. If you could add a disk IO generator, then I could go down to a single tool.

    Good job.

  9. Doug Davis says

    19 April, 2010 at 11:16

    Good tool. If it was possible to take this tool outside of the single VM & get it to do the same thing to multiple VMs at the same time, that would be brilliant.

  10. Michelle says

    19 April, 2010 at 20:37

    Thanks for sharing this great tool.
    Actually, I am in the middle of preparing a white paper on memory sizing in virtualization for our group. I am trying to find something to generate memory load until today.
    The reason I needed something to generate memory load is I keep on finding situations where VM memory get reclaimed by balloon memory during memory shortage. However, this balloon memory never seems to “deflate” even the ESX is in high memory state with tones of free memory. So I would like to see if I could use this tool to force an “active” memory load to get rid of the balloon memory. But looks like the balloon memory still won’t deflate even I tried to generate high memory load. any ideas?

  11. Andrew Mitchell says

    10 May, 2010 at 12:00

    NOTE: New version posted at http://www.mediafire.com/download.php?zmljhmvma3n. Now takes command line arguments.

    cpu=
    threads=
    mem=
    timer=
    auto=

    e.g To start the app with a 20% CPU load per thread running 2 threads, a memory load of 200MB and have it run for 5 minutes, starting automatically you would run:

    loadstorm cpu=20 threads=2 mem=200 timer=5 auto=true

  12. Andrew Mitchell says

    10 May, 2010 at 12:03

    @Michelle

    What you are seeing is expected behavior. The balloon driver will cause pages to swap but those pages won’t be brought back into physical memory until the application that has reserved those pages tries to access them. Generating more load within the VM will just allocate new memory pages and won’t cause the old swapped pages to come back in. The only way to do that is to get the application that has reserved those pages to access them again.

  13. Thrazzle says

    7 January, 2011 at 23:02

    Andrew,

    How can I make loadstorm exit after a scripted run? I’d like to use loadstorm in a script but it doesnt exit.

    thanks
    Thrazzle

  14. Doug Davis says

    21 March, 2011 at 15:28

    Does anyone have the updated zip file? I can’t seem to get hold of it from Mediafire, and could really do with being able to run from the command line.

    • Andrew Mitchell says

      20 April, 2011 at 04:26

      Hi Doug.
      I just tried the link at it failed with IE9, but worked ok with FireFox. It might be worth trying another web browser.

  15. JB says

    18 June, 2012 at 17:57

    Is there any way to lift the 120 minute max automatic load generation?

Primary Sidebar

About the author

Duncan Epping is a Chief Technologist in the Office of CTO of the Cloud Platform BU at VMware. He is a VCDX (# 007), the author of the "vSAN Deep Dive", the “vSphere Clustering Technical Deep Dive” series, and the host of the "Unexplored Territory" podcast.

Upcoming Events

Feb 9th – Irish VMUG
Feb 23rd – Swiss VMUG
March 7th – Dutch VMUG
May 24th – VMUG Poland
June 1st – VMUG Belgium

Recommended Reads

Sponsors

Want to support Yellow-Bricks? Buy an advert!

Advertisements

Copyright Yellow-Bricks.com © 2023 · Log in