3. Monitoring your server
Understanding your system
So now we want to be able to navigate, operate and monitor our system. To do this, most servers have a relatively homogenous system: systemd!
systemd is a software suite that provides an array of system components for Linux operating systems. The main aim is to unify service configuration and behavior across Linux distributions.
systemctl
is the command-line tool that manages the systemd system and service manager in Linux.
How to work with systemd units, etc
Many modern Linux distros go with systemd — it can handle services for you in a convenient manner
It comes with systemctl, along with a lot of other things — DNS caching resolvers, time sync, a bootloader, etc, But we'll want to focus on systemctl
Start/stop/restart services: systemctl start unit.service, etc
Check service status: systemctl status unit.service
journalctl
is a utility for querying and displaying logs from journald, systemd’s logging service.
To see live logs:
To see the first 20 lines
To check a specific service:
To get all logs from last boot
To filter by time (last 15 minutes for example)
Monitoring with top
Aside from reading warnings, and making sure our services are running, we often times also want to make sure our system as a whole is running as expected. This is where top
and htop
come into play
What is top?
top command is used to show the Linux processes. It provides a dynamic real-time view of the running system.
Think of it as a super powerful task manager for Linux.
Basic Usage
Just type
top
to start the program.Pressing q will simply exit the command mode.
Pressing h will show you the help menu.
What does everything mean?
PID: Shows task’s unique process id.
PR: The process’s priority. The lower the number, the higher the priority.
VIRT: Total virtual memory used by the task.
USER: User name of owner of task.
%CPU: Represents the CPU usage.
TIME+: CPU Time, the same as ‘TIME’, but reflecting more granularity through hundredths of a second.
SHR: Represents the Shared Memory size (kb) used by a task.
NI: Represents a Nice Value of task. A Negative nice value implies higher priority, and positive Nice value means lower priority.
%MEM: Shows the Memory usage of task.
RES: How much physical RAM the process is using, measured in kilobytes.
COMMAND: The name of the command that started the process.
top
cheatsheet
top
cheatsheetSome exercises!
Try running
top
and see what you can find out about your system!What are the top 5 processes using the most CPU?
What would I press if I want to kill the processes using the most memory?
I want to see what processes start running when I start my computer. How would I do that?
Last updated