Data Engineering Journey - no. 07
btop, an aesthetically pleasing system resource monitor showing usage and stats for processor, memory, disks, network, and processes. btop is the lighter and faster C++ version and continuation of bashtop and bpytop.
btop features
-
An easy-to-use and esthetically pleasing user interface that features a beautiful system stats overview.
-
Full mouse support, all buttons with a highlighted key are clickable and mouse scroll work in the process list and menu boxes.
-
Fast and responsive UI with UP and DOWN keys process selection.
-
Function for showing detailed stats for the selected process.
-
Ability to filter processes.
-
Easy switching between sorting options.
-
Tree view of processes.
-
Send any signal to the selected process.
-
UI menu for changing all config file options.
-
Auto-scaling graph for network usage.
-
Shows IO activity and speeds for disks
-
Battery meter
-
Selectable symbols for the graphs
-
Custom presets
-
Available in a growing list of official repos of recent distros. For example, Manjaro install = pacman -S btop.
-
Also compatible with Mac and FreeBSD.
-
Uses less CPU and RAM compared to bashtop and bpytop.
1. What have you learned?
Usefull commands:
-
ip
- from Iproute2, a collection of utilities for controlling TCP/IP networking and traffic control in Linux -
ls
- list directory contents -
df
- display disc space -
du
- estimate file space usage -
free
- dipslay memmory usage -
scp
- securely Copy Files Using SCP -
find
- locates files based on some userspace criteria -
ncdu
- disk utility for Unix systems, provides fast way to see what dirctories are using your disk space -
pstree
- displaye a tree of processes -
last
- shows a listing of last loggged in user -
w
- w displays information about the users currently on the machine, and their processes. The header shows, in this order, the current time, how long the system has been running, how many users are currently logged on, and the system load averages for the past 1, 5, and 15 minutes. -
grep
- search a file for a pparten of characters , then dispaly all matching lines. This command is often used for creating more complexx matches -
uptime
- shows system uptime and load average -
top
- shows Linux processes -
vmstat
- shows virtual memory statistics report -
htop
- interactive process viewer -
dstat
- versatile tool for generating system resources statistics -
atop
- advaned system and process monitor -
ss
- utility to invesigate sockets -
mv
- moving files and folders -
rm
- removing files and folders -
mkdir
- create or make new directory -
touch
- chage file timestamps -
man
- system referene manual -
rsync
- remote file transfer and sync -
apropos
- search man page names and descriptions -
tar
- archiving utility -
gzip
- file compression and decompresion -
zip
- packaging and compression -
locate
- search files in Linux -
ps
- information about the currentlny runnig processes -
corn
- setup scheduled tasks to run -
nmcli
- command line tool for controlling network manager -
mtr
- netrok diagnostic tool -
dig
- DNS lookup utility -
wget
- retrieve files over HTTP, HTTPS, FTP and FTPS -
curl
- transfering data using various network protocols -
fdisk
- manipulate the disk partition table -
blkid
- commandline utility to locate block device attributes -
mkfs
- build a Linux file system -
fsck
- tool for checking the consistency od a file system -
chmod
- change the access permisions ot fole systems objects -
nc
- TCP and UDP connections and listens -
vi
- programmer’s text editor -
cat
- display file contents -
tac
- concatenate output file contnet in reverse -
less
- similar to the more command with addictional features -
journalctl
- query systemd jounal -
kill
- terminate a process -
killall
- sends kill signal to all instances of process by name -
sleep
- suspends program execution for a specified time -
wait
- suspend script execution untill all jobs running in the background have been terminated -
nohup
- runs command in the background -
tmux
- terminal multiplexer -
passwd
- change user password -
chpassword
- allows users to chnage the password for various user accounts -
mount\unmount
- provides access to and entire filesystem in one directory -
env
- run command in a modified environment -
cheat
- allows to create an view interactive cheatsheet on the command line -
tldr
- collaboratibe cheatsheets for console commands -
nload
- commandline network interfcae montoring tool -
history
- display list of commands used over time -
tree
- lists contents of directories in a tree-like format -
awk
- patern scanning and processing language -
sed
- steam editor for filtering and transforming text -
diff
- compare files line by linie -
crontab
- maintain crontab files for individual users -
alias
- create an alias for Linux commands -
lsusb
- list USB devices
2. What were 2-3 interesting points?
-
btop’s features and performance: The aesthetically pleasing UI, tree view of processes, and detailed stats for selected processes are very useful for system monitoring. The fact that it uses less CPU and RAM compared to its predecessors is particularly interesting.
-
Integration with Linux distributions: The availability of btop in many official repositories (e.g., easy installation via pacman -S btop on Manjaro) and its compatibility with Mac and FreeBSD highlight its versatility.
-
Mouse support and customizable UI: Full mouse support and the ability to adjust settings via an intuitive UI make it user-friendly, especially for those who prefer graphical tools over strictly command-line interfaces.
3. What were 2-3 points you didn’t understand?
-
Selectable symbols for graphs: How does customizing the graph symbols enhance usability or interpretation of system stats? It’s not immediately clear why or when this feature would be particularly useful.
-
Detailed process stats: While the tool provides detailed stats for selected processes, the specifics of what these stats include (e.g., memory usage breakdown, CPU cycles, I/O activity) could be clarified further.
-
Tree view processes: While the tree view for processes is mentioned, understanding how it visually differs from traditional list views would benefit from an example or screenshot.
4. Where does this skill or best practice fit?
-
System Monitoring and Troubleshooting: btop is ideal for identifying performance bottlenecks, such as high CPU or memory usage, and monitoring network or disk activity in real-time.
-
DevOps and Systems Administration: This tool fits into workflows for managing servers or systems where resource optimization and process management are critical.
-
Learning and Teaching Linux Basics: The visually appealing and user-friendly interface makes it a good choice for introducing Linux system monitoring concepts to beginners. It lowers the barrier compared to more traditional tools like top or htop.
My site is free of ads and trackers. Was this post helpful to you? Why not
Reference:
Disqus is great for comments/feedback but I had no idea it came with these gaudy ads.