Performance
See also
dstat
`dstat` is one of the more valuable tools for monitoring system performance. The output columns can be easily customized for different situations.
The default options are -cdngy. The following are options I commonly use. Many other are described in the manpage.
-c --cpu system, user, idle, wait, hardware interrupt, software interrupt -d --disk disk read, write -f --full full listing when using certain options (--cpu, --int, --disk, --net, --swap) -g --page page in, out -i --int interrupts (see also --full option, --I option, and review /proc/interrupts) -l --load load average -m --mem memory used, buffers, cache, free -n --net network receive, send -r --io I/O read, write -s --swap swap used, free -y --sys system interrupts, context switches --vm vm hard pagefaults, soft pagefaults, allocated, free
`dstat` also has many Python plugins stored in /usr/share/dstat/.
Some statistics require the lm-sensors package. Run `sensors-detect` after installing.
tools
apttitude -q -y install iozone3 stress cpuburn sysstat iotop hddtemp
drive IO testing and stressing
Basic read and write speed testing:
iozone -a -s 1048576 -g 1G -i 0 -i 1 -O
Bonnie++ tests will work OK with the defaults. You do have to set the user. Note that root is not normally recommended.
bonnie++ -u root:root
This generates stress on /dev/sda. While this is running you may want to run "iostat 1 300 /dev/sda" in a different window.
stress --hdd 10 /dev/sda
CPU stress and burn
Install the Ubuntu package cpuburn. For each CPU core your system has run one instance of `burnP6` (for Intel P6 processors). Monitor the CPU usage and system load using `htop` or the tool of your choice. Monitor the temperature using `sensors` or some ACPI tool.
burnP6 & burnP6 & burnP6 & burnP6 & watch -n1 sensors killall burnP6