mirror of https://github.com/ceph/ceph
68 lines
1.6 KiB
ReStructuredText
68 lines
1.6 KiB
ReStructuredText
===============
|
|
CPU Profiling
|
|
===============
|
|
|
|
If you built Ceph from source and compiled Ceph for use with `oprofile`_
|
|
you can profile Ceph's CPU usage. See `Installing Oprofile`_ for details.
|
|
|
|
|
|
Initializing oprofile
|
|
=====================
|
|
|
|
The first time you use ``oprofile`` you need to initialize it. Locate the
|
|
``vmlinux`` image corresponding to the kernel you are now running. ::
|
|
|
|
ls /boot
|
|
sudo opcontrol --init
|
|
sudo opcontrol --setup --vmlinux={path-to-image} --separate=library --callgraph=6
|
|
|
|
|
|
Starting oprofile
|
|
=================
|
|
|
|
To start ``oprofile`` execute the following command::
|
|
|
|
opcontrol --start
|
|
|
|
Once you start ``oprofile``, you may run some tests with Ceph.
|
|
|
|
|
|
Stopping oprofile
|
|
=================
|
|
|
|
To stop ``oprofile`` execute the following command::
|
|
|
|
opcontrol --stop
|
|
|
|
|
|
Retrieving oprofile Results
|
|
===========================
|
|
|
|
To retrieve the top ``cmon`` results, execute the following command::
|
|
|
|
opreport -gal ./cmon | less
|
|
|
|
|
|
To retrieve the top ``cmon`` results with call graphs attached, execute the
|
|
following command::
|
|
|
|
opreport -cal ./cmon | less
|
|
|
|
.. important:: After reviewing results, you should reset ``oprofile`` before
|
|
running it again. Resetting ``oprofile`` removes data from the session
|
|
directory.
|
|
|
|
|
|
Resetting oprofile
|
|
==================
|
|
|
|
To reset ``oprofile``, execute the following command::
|
|
|
|
sudo opcontrol --reset
|
|
|
|
.. important:: You should reset ``oprofile`` after analyzing data so that
|
|
you do not commingle results from different tests.
|
|
|
|
.. _oprofile: http://oprofile.sourceforge.net/about/
|
|
.. _Installing Oprofile: ../../../dev/cpu-profiler
|