1

I have a Mac Mini server that seems to exhibit various issues while there's either a medium to heavy CPU load or disk access. I'd like to test this out by intentionally triggering varying degrees of CPU usage and different kinds and intensities of disk access. Are there any tools or techniques out there that can:

  1. Load the CPU to a certain percentage, i.e. peg one or more cores of the CPU at 50%, 75%, 100%, etc.

  2. Simulate medium or heavy disk access of varying kinds, including situations like lots of random seeks or continuous reads / writes

  • 1
    Did you already try iozone and bonnie++ (install with homebrew!). Both are benchmarking tools but can be used to some extent as disk load simulators also. CPU load can be done with prime95. I think it can be configured to use to a min/maxload. – klanomath Oct 10 '16 at 16:18
  • I hadn't tried these before, so just gave them a whirl. prime95 seems great for hitting the CPU, and does seem to allow me to control how much hard it's being hit. However I wasn't able to get iozone or bonnie++ to hit the disk the same way some of my apps are, nor could I get them to do it continuously while I tested. – GuyGizmo Oct 11 '16 at 18:23
1

The best configurable tool I've found to simulate light to heavy disk access for testing purposes is filebench.

I didn't get filebench-1.5-alpha3 to compile properly. So download an older installer package (filebench 1.4.4) from FileBench ported to Mac OS X or direct link.

Install the app. You may have to disable SIP and - in Sierra - Gatekeeper to do so. The package will be installed to /opt/filebench.

To start the app in interactive mode enter in Terminal.app:

/opt/filebench/bin/go_filebench

Now choose a workload at the prompt - preconfigured workloads can be found in /opt/filebench/config (e.g. fileserver.conf):

filebench> load fileserver

Set a working directory and other variables (most have default values):

set $dir=/tmp
set $filesize=612458

and a run time in seconds:

run 600

To create your own workloads visit filebench Wiki and check the WML link.

To "simulate" CPU-load install prime95 and configure it.


In my virtual environment (Sierra - 2 CPUs/4 GB memory) running go_filebench alone already creates a total CPU-load of 70% (go_filebench: ~140%). So I don't have to start prime95 additionally. In your environment you may have to start it though.

|improve this answer|||||
  • These seem to do the trick! One comment: when trying out filebench I noticed that it didn't actually delete the temporary files it created after it finished running and exited normally. In one case I told it to create a 1 GB file and it just left it there. Not sure if I was doing something wrong, but for anyone else thinking of using it, be aware it may do that. – GuyGizmo Oct 11 '16 at 22:57
  • @GuyGizmo Older tmp files will be removed before creating a new temp file set in go_filebench preparing a new run. I don't know if the set will be removed while restarting the system. – klanomath Oct 11 '16 at 23:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .