summaryrefslogtreecommitdiffstats
path: root/doc/dev/cpu-profiler.rst
blob: 5b06a47919c1bd8b4e8126d754253f2e61283208 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
=====================
 Installing Oprofile
=====================

The easiest way to profile Ceph's CPU consumption is to use the `oprofile`_
system-wide profiler.

.. _oprofile: http://oprofile.sourceforge.net/about/

Installation
============

If you are using a Debian/Ubuntu distribution, you can install ``oprofile`` by
executing the following::

	sudo apt-get install oprofile oprofile-gui
	

Compiling Ceph for Profiling
============================

To compile Ceph for profiling, first clean everything. :: 

	make distclean
	
Then, export the following settings so that you can see callgraph output. :: 

	export CFLAGS="-fno-omit-frame-pointer -O2 -g"

Finally, compile Ceph. :: 

	./autogen.sh
	./configure
	make

You can use ``make -j`` to execute multiple jobs depending upon your system. For
example::

	make -j4


Ceph Configuration 
==================

Ensure that you disable ``lockdep``. Consider setting logging to 
levels appropriate for a production cluster. See `Ceph Logging and Debugging`_ 
for details.

.. _Ceph Logging and Debugging: ../../rados/troubleshooting/log-and-debug

See the `CPU Profiling`_ section of the RADOS Troubleshooting documentation for details on using Oprofile.


.. _CPU Profiling: ../../rados/troubleshooting/cpu-profiling