Book Image

Linux Service Management Made Easy with systemd

4 (1)
Book Image

Linux Service Management Made Easy with systemd

4 (1)

Overview of this book

Linux Service Management Made Easy with systemd will provide you with an in-depth understanding of systemd, so that you can set up your servers securely and efficiently.This is a comprehensive guide for Linux administrators that will help you get the best of systemd, starting with an explanation of the fundamentals of systemd management.You’ll also learn how to edit and create your own systemd units, which will be particularly helpful if you need to create custom services or timers and add features or security to an existing service. Next, you'll find out how to analyze and fix boot-up challenges and set system parameters. An overview of cgroups that'll help you control system resource usage for both processes and users will also be covered, alongside a practical demonstration on how cgroups are structured, spotting the differences between cgroups Version 1 and 2, and how to set resource limits on both. Finally, you'll learn about the systemd way of performing time-keeping, networking, logging, and login management. You'll discover how to configure servers accurately and gather system information to analyze system security and performance. By the end of this Linux book, you’ll be able to efficiently manage all aspects of a server running the systemd init system.
Table of Contents (23 chapters)
Section 1: Using systemd
Section 2: Understanding cgroups
Section 3: Logging, Timekeeping, Networking, and Booting

Understanding the need for Version 2

As good as cgroups Version 1 is, it does have a few rather serious flaws. Let's take a quick look.

Version 1 complexity

To begin with, Version 1 has too many resource controllers and too many attributes per controller. Very few people use more than just the Big Three controllers that we covered in Chapter 12, Controlling Resource Usage with cgroups Version 1. Some unnecessary controllers have been removed from Version 2.

There's also too much complexity with the Version 1 hierarchy, which makes it a bit confusing to use and can hurt performance. To see what I mean, think back about what we saw in the Version 1 cgroup filesystem. You saw that each resource controller has its own subdirectory, as we see here:

Figure 13.1 – The resource controllers for version 1 on Ubuntu

In Chapter 12, Controlling Resource Usage with cgroups Version 1, we also saw that when we set a CPUQuota for Vicky, it appeared...