Last Sync: 2022-08-28 11:00:04
This commit is contained in:
parent
813a0eb326
commit
962b4333da
1 changed files with 32 additions and 1 deletions
|
@ -1,5 +1,36 @@
|
||||||
---
|
---
|
||||||
categories:
|
categories:
|
||||||
- Linux
|
- Linux
|
||||||
tags: [journal, systemd, sytems-programming]
|
tags: [sytems-programming]
|
||||||
---
|
---
|
||||||
|
|
||||||
|
# Monitoring processes and resources
|
||||||
|
|
||||||
|
## Processor time and memory usage: `top`, `htop` etc
|
||||||
|
|
||||||
|
We can use [ps](/Programming_Languages/Shell_Scripting/Processes.md) to list the currently running processes but it does not provide much information about the resource metrics or how the process changes over time. We can use `top` to get more information.
|
||||||
|
|
||||||
|
`top` provides an interactive interface for the information that `ps` displays. It updates in real time and shows the most active processes based on the CPU time that they are utilising. You can also order by memory usage.
|
||||||
|
|
||||||
|
_Here I have pressed `u` to show only the processes associated with my user:_
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Main commands
|
||||||
|
|
||||||
|
| Command | Action |
|
||||||
|
| ------- | ------------------------------- |
|
||||||
|
| -u | Show processes by selected user |
|
||||||
|
| M | Sort by memory usage |
|
||||||
|
| P | Sort by cumulative CPU usage |
|
||||||
|
| ? | View key and explanation |
|
||||||
|
|
||||||
|
## Files being used by active processes: `lsof`
|
||||||
|
|
||||||
|
`lsof` stands for _list open files_. It lists opened files and the processes using them. Without modifiers it outputs a huge amount of data. The best way to use it is to execute it against a specific PID. For example the below output gives me some useful info about which files VS Code is using:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## System calls: `strace`
|
||||||
|
|
||||||
|
A system call is when a process requests a service from the [kernel](/Operating_Systems/The_Kernel.md), for instance an I/O operation to memory. We can trace these system calls with `strace`.
|
||||||
|
|
Loading…
Add table
Reference in a new issue