Vmstat: Difference between revisions

From Yocto Project
Jump to navigationJump to search
No edit summary
No edit summary
Line 21: Line 21:
* Once <tt>bitbake</tt> finishes, <tt>Ctrl+D</tt> the <tt>vmstat</tt> command to stop it
* Once <tt>bitbake</tt> finishes, <tt>Ctrl+D</tt> the <tt>vmstat</tt> command to stop it


=Vmstat output=
=Vmstat Output=
== Processing jobs==
== Processing Jobs==
   Procs
   Procs
       r: The number of runnable processes (running or waiting for run time).
       r: The number of runnable processes (running or waiting for run time).
       b: The number of processes in uninterruptible sleep.
       b: The number of processes in uninterruptible sleep.
[[File:Vmstat-procs-minimal.png|thumb|center|500px|Test|Test2]]
[[File:Vmstat-procs-minimal.png|thumb|center|500px|Test|Test2]]
== Memory usage==
== Memory Usage==
   Memory
   Memory
       swpd: the amount of virtual memory used.
       swpd: the amount of virtual memory used.
Line 34: Line 34:
       cache: the amount of memory used as cache.
       cache: the amount of memory used as cache.
[[File:Vmstat-memory-minimal.png|thumb|center|500px]]
[[File:Vmstat-memory-minimal.png|thumb|center|500px]]
== IO activity==
== IO Activity==
   IO
   IO
       bi: Blocks received from a block device (blocks/s).
       bi: Blocks received from a block device (blocks/s).
       bo: Blocks sent to a block device (blocks/s).
       bo: Blocks sent to a block device (blocks/s).
[[File:Vmstat-io-minimal.png|thumb|center|500px]]
[[File:Vmstat-io-minimal.png|thumb|center|500px]]
== System operations==
== System Operations==
   System
   System
       in: The number of interrupts per second, including the clock.
       in: The number of interrupts per second, including the clock.
       cs: The number of context switches per second.
       cs: The number of context switches per second.
[[File:Vmstat-system-minimal.png|thumb|center|500px]]
[[File:Vmstat-system-minimal.png|thumb|center|500px]]
== CPU performance==
== CPU Resources==
   CPU
   CPU
       These are percentages of total CPU time.
       These are percentages of total CPU time.

Revision as of 19:28, 7 March 2017

System monitoring with vmstat

The following results were obtained based on data collected using vmstat, a tool that reports a system's virtual memory statistics.

In order to reproduce the output shown in section 2, one should:

  • Fetch upstream code from the core-image-minimal recipes
$ git clone git://git.yoctoproject.org/poky
$ cd poky/
$ source oe-init-build-env
$ echo -e 'DL_DIR = "/home/user/poky/downloads"' > conf/auto.conf
$ bitbake core-image-minimal -c fetchall
  • Start vmstat in a new terminal (set a 2 sec interval)
$ vmstat 2 > vmstat-output.raw
  • On the terminal from the first step, launch bitbake, making sure no network activity will be done
$ echo -e 'BB_NO_NETWORK = "1"' >> conf/auto.conf
$ bitbake core-image-minimal
  • Once bitbake finishes, Ctrl+D the vmstat command to stop it

Vmstat Output

Processing Jobs

  Procs
      r: The number of runnable processes (running or waiting for run time).
      b: The number of processes in uninterruptible sleep.
Test2

Memory Usage

  Memory
      swpd: the amount of virtual memory used.
      free: the amount of idle memory.
      buff: the amount of memory used as buffers.
      cache: the amount of memory used as cache.
Vmstat-memory-minimal.png

IO Activity

  IO
      bi: Blocks received from a block device (blocks/s).
      bo: Blocks sent to a block device (blocks/s).
Vmstat-io-minimal.png

System Operations

  System
      in: The number of interrupts per second, including the clock.
      cs: The number of context switches per second.
Vmstat-system-minimal.png

CPU Resources

  CPU
      These are percentages of total CPU time.
      us: Time spent running non-kernel code.  (user time, including nice time)
      sy: Time spent running kernel code.  (system time)
      id: Time spent idle.  Prior to Linux 2.5.41, this includes IO-wait time.
      wa: Time spent waiting for IO.  Prior to Linux 2.5.41, included in idle.
      st: Time stolen from a virtual machine.  Prior to Linux 2.6.11, unknown.
Vmstat-cpu-minimal.png