Skip to content

Commit

Permalink
debugging: slides: debugging-common-tools: add subsections, move a fe…
Browse files Browse the repository at this point in the history
…w slides

Add subsections to split the content, and move the mpstat slide close to
the other process/execution monitoring tools.

Signed-off-by: Luca Ceresoli <[email protected]>
  • Loading branch information
lucaceresoli committed Dec 15, 2023
1 parent fc7aac1 commit 27959af
Showing 1 changed file with 55 additions and 44 deletions.
99 changes: 55 additions & 44 deletions slides/debugging-common-tools/debugging-common-tools.tex
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
\section{Linux Common Analysis \& Observability Tools}

\subsection{Pseudo Filesystems}

\begin{frame}
\frametitle{Pseudo Filesystems}
\begin{itemize}
Expand Down Expand Up @@ -84,6 +86,8 @@ \section{Linux Common Analysis \& Observability Tools}
\end{itemize}
\end{frame}

\subsection{ELF file analysis}

\begin{frame}[fragile]
\frametitle{binutils for ELF analysis}
\begin{itemize}
Expand Down Expand Up @@ -184,6 +188,8 @@ \section{Linux Common Analysis \& Observability Tools}
\end{block}
\end{frame}
\subsection{Monitoring tools}
\begin{frame}
\frametitle{Monitoring Tools}
\begin{itemize}
Expand All @@ -205,6 +211,8 @@ \section{Linux Common Analysis \& Observability Tools}
\end{itemize}
\end{frame}
\subsection{Process and CPU monitoring tools}
\begin{frame}[fragile]
\frametitle{Processes with {\em ps}}
\begin{itemize}
Expand Down Expand Up @@ -279,6 +287,30 @@ \section{Linux Common Analysis \& Observability Tools}
\end{block}
\end{frame}
\begin{frame}[fragile]
\frametitle{mpstat}
\begin{itemize}
\item {\em mpstat} displays Multiprocessor statistics (\manpage{mpstat}{1}).
\item Useful to detect unbalance CPU workloads, bad IRQ affinity, etc.
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\scriptsize]{console}
$ mpstat -P ALL
Linux 6.0.0-1-amd64 (fixe) 19/10/2022 _x86_64_ (4 CPU)

17:02:50 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
17:02:50 all 6,77 0,00 2,09 11,67 0,00 0,06 0,00 0,00 0,00 79,40
17:02:50 0 6,88 0,00 1,93 8,22 0,00 0,13 0,00 0,00 0,00 82,84
17:02:50 1 4,91 0,00 1,50 8,91 0,00 0,03 0,00 0,00 0,00 84,64
17:02:50 2 6,96 0,00 1,74 7,23 0,00 0,01 0,00 0,00 0,00 84,06
17:02:50 3 9,32 0,00 2,80 54,67 0,00 0,00 0,00 0,00 0,00 33,20
17:02:50 4 5,40 0,00 1,29 4,92 0,00 0,00 0,00 0,00 0,00 88,40
\end{minted}
\end{block}
\end{frame}

\subsection{Memory monitoring tools}

\begin{frame}[fragile]
\frametitle{{\em free}}
\begin{itemize}
Expand Down Expand Up @@ -321,27 +353,36 @@ \section{Linux Common Analysis \& Observability Tools}
\end{frame}

\begin{frame}[fragile]
\frametitle{mpstat}
\frametitle{pmap}
\begin{itemize}
\item {\em mpstat} displays Multiprocessor statistics (\manpage{mpstat}{1}).
\item Useful to detect unbalance CPU workloads, bad IRQ affinity, etc.
\item \code{pmap} displays process mappings more easily than
accessing \code{/proc/<pid>/maps} (\manpage{pmap}{1}).
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\scriptsize]{console}
$ mpstat -P ALL
Linux 6.0.0-1-amd64 (fixe) 19/10/2022 _x86_64_ (4 CPU)

17:02:50 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
17:02:50 all 6,77 0,00 2,09 11,67 0,00 0,06 0,00 0,00 0,00 79,40
17:02:50 0 6,88 0,00 1,93 8,22 0,00 0,13 0,00 0,00 0,00 82,84
17:02:50 1 4,91 0,00 1,50 8,91 0,00 0,03 0,00 0,00 0,00 84,64
17:02:50 2 6,96 0,00 1,74 7,23 0,00 0,01 0,00 0,00 0,00 84,06
17:02:50 3 9,32 0,00 2,80 54,67 0,00 0,00 0,00 0,00 0,00 33,20
17:02:50 4 5,40 0,00 1,29 4,92 0,00 0,00 0,00 0,00 0,00 88,40
\begin{minted}[fontsize=\tiny]{console}
# pmap 2002
2002: /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
...
00007f3f958bb000 56K r---- libdbus-1.so.3.32.1
00007f3f958c9000 192K r-x-- libdbus-1.so.3.32.1
00007f3f958f9000 84K r---- libdbus-1.so.3.32.1
00007f3f9590e000 8K r---- libdbus-1.so.3.32.1
00007f3f95910000 4K rw--- libdbus-1.so.3.32.1
00007f3f95937000 8K rw--- [ anon ]
00007f3f95939000 8K r---- ld-linux-x86-64.so.2
00007f3f9593b000 152K r-x-- ld-linux-x86-64.so.2
00007f3f95961000 44K r---- ld-linux-x86-64.so.2
00007f3f9596c000 8K r---- ld-linux-x86-64.so.2
00007f3f9596e000 8K rw--- ld-linux-x86-64.so.2
00007ffe13857000 132K rw--- [ stack ]
00007ffe13934000 16K r---- [ anon ]
00007ffe13938000 8K r-x-- [ anon ]
total 11088K
\end{minted}
\end{block}
\end{frame}

\subsection{I/O monitoring tools}

\begin{frame}[fragile]
\frametitle{iostat}
Expand Down Expand Up @@ -395,36 +436,6 @@ \section{Linux Common Analysis \& Observability Tools}
\end{block}
\end{frame}
\begin{frame}[fragile]
\frametitle{pmap}
\begin{itemize}
\item \code{pmap} displays process mappings more easily than
accessing \code{/proc/<pid>/maps} (\manpage{pmap}{1}).
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
# pmap 2002
2002: /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
...
00007f3f958bb000 56K r---- libdbus-1.so.3.32.1
00007f3f958c9000 192K r-x-- libdbus-1.so.3.32.1
00007f3f958f9000 84K r---- libdbus-1.so.3.32.1
00007f3f9590e000 8K r---- libdbus-1.so.3.32.1
00007f3f95910000 4K rw--- libdbus-1.so.3.32.1
00007f3f95937000 8K rw--- [ anon ]
00007f3f95939000 8K r---- ld-linux-x86-64.so.2
00007f3f9593b000 152K r-x-- ld-linux-x86-64.so.2
00007f3f95961000 44K r---- ld-linux-x86-64.so.2
00007f3f9596c000 8K r---- ld-linux-x86-64.so.2
00007f3f9596e000 8K rw--- ld-linux-x86-64.so.2
00007ffe13857000 132K rw--- [ stack ]
00007ffe13934000 16K r---- [ anon ]
00007ffe13938000 8K r-x-- [ anon ]
total 11088K
\end{minted}
\end{block}
\end{frame}
\setuplabframe
{System Status}
{
Expand Down

0 comments on commit 27959af

Please sign in to comment.