It uses CloudSim Plus Automation to run the same simulation scenarios (defined into a YAML file) and compare performance results of both frameworks.
Currently it contains just a script file which downloads the jar packages from the projects mentioned above and allows executing the YAML files in CloudSim and CloudSim Plus.
Just execute this script into a terminal as below to see the available options:
./run.sh -h
Running the script with no arguments will start building the simulation scenarios using default options.
Here, it’s shown a list of some tools and commands you can use to assess the performance of the experiments while they are executing. Using these tools you can check CPU utilization, memory consumption and even the functions in your simulations that are using the CPU the most (check VisualVM section below).
jstat collects
several metrics for a running application. Requires the PID of the app (vmid)
which can be got using jps
command.
The following example gets GC memory stats (in KB) for app with PID 4214, every 1000ms, collection data 10 times:
jstat -gccapacity 4214 1000 10
To get the PID dynamically using jsp and grep, considering the name of the running java application:
jstat -gccapacity `jps | grep CloudSimAutomation-0.4.0-with-dependencies.jar | cut -d " " -f 1` 1000 10
The jstat homepage show the documentation for parameters and presented results.
jmap collects specific information about memory usage in a more understandable way than jstat.
The example below shows the total memory usage for objects in the heap (in bytes)
jmap -histo `jps | grep CloudSimAutomation-0.4.0-with-dependencies.jar | cut -d " " -f 1` | (head -n2 && tail -n1)
The example below shows heap information for a running java app.
jmap -heap `jps | grep CloudSimAutomation-0.4.0-with-dependencies.jar | cut -d " " -f 1`
ps -p `jps | grep CloudSimAutomation-0.4.0-with-dependencies.jar | cut -d " " -f 1` -o %cpu,%mem,cmd
jtop is a top-like command, but is out-of-date. It shows CPU usage and heap memory usage in MB (HPCUR and HPMAX), but presented CPU values don’t match with more accurate tools such as macOS Monitor, top, and ps.
-
jconsole: included in the JDK (opened from the terminal)