From 38f1823df20c40f863d3a86aaea972cee811fb2f Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Thu, 21 Jan 2016 14:40:11 +0100 Subject: Finish pre-demo slides --- slides.pdfpc | 17 ++++++++++++++++- slides.tex | 35 ++++++++++++++++++++++++++++++++++- 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/slides.pdfpc b/slides.pdfpc index d73ac6e855..971f40eee5 100644 --- a/slides.pdfpc +++ b/slides.pdfpc @@ -51,4 +51,19 @@ systemd.device - trigger units when certain devices are connected systemd.mount - systemd equivalent of fstab entries systemd.swap - like mount systemd.slice - unit groups for resource management purposes -... and a few more specialised ones \ No newline at end of file +... and a few more specialised ones +### 10 +Linux cgroups are a new resource management feature added quite a long time ago, but not used much. +Cgroups can be created manually and processes can be moved into them in order to control resource utilisation +Few people used them before systemd, limits.conf was often much easier but not as fine-grained +Systemd changed this +### 11 +Systemd collects standard output and stderr from all processes into its journal system +they provide a tool for querying the log, for example grouping service logs together with correct timestamps, querying, +### 12 +Systemd tooling, most important one is systemctl for general service management +journalctl is the query and management tool for journald +systemd-analyze is used for figuring out performance issues, for example by analysing the boot process, can make cool graphs of dependencies +systemd-cgtop is like top, but not on a process level - it's on a cgroup/slice level, shows combined usage of cgroups +systemd-cgls lists contents of systemd's cgroups to see which services are in what group +there also exist a bunch of others that we'll skip for now diff --git a/slides.tex b/slides.tex index 06e0981249..4d5447b6e5 100644 --- a/slides.tex +++ b/slides.tex @@ -87,7 +87,40 @@ \end{code} \end{frame} -\begin{frame}{} + +\begin{frame}{Resource management} + Systemd utilises Linux \texttt{cgroups} for resource management, specifically CPU, disk I/O and memory usage. + + \begin{itemize} + \item Hierarchical setup of groups makes it easy to limit resources for a set of services + \item Units can be attached to a \texttt{systemd.slice} for controlling resources for a group of services + \item Resource limits can also be specified directly in the unit + \end{itemize} +\end{frame} + +\begin{frame}{journald} + Systemd comes with an integrated log management solution, replacing software such as \texttt{syslog-ng}. + \begin{itemize} + \item All process output is collected in the journal + \item \texttt{journalctl} tool provides many options for querying and tailing logs + \item Children of processes automatically log to the journal as well + \item \textbf{Caveat:} Hard to learn initially + \end{itemize} +\end{frame} + +\begin{frame}{Systemd tooling} + A variety of CLI-tools exist for managing systemd systems. + \begin{code} + \begin{itemize} + \item systemctl + \item journalctl + \item systemd-analyze + \item systemd-cgtop + \item systemd-cgls + \end{itemize} + \end{code} + + Let's look at some of them. \end{frame} \section{Demo} -- cgit 1.4.1