144 lines
4.9 KiB
Markdown
144 lines
4.9 KiB
Markdown
# Examples
|
|
|
|
These examples can be run by running `cargo run --example example_name`
|
|
|
|
## dump.rs
|
|
|
|
Prints out details about the current process (the dumper itself), or a process specifed by PID
|
|
|
|
## interface_stats.rs
|
|
|
|
Runs continually and prints out how many bytes/packets are sent/received. Press ctrl-c to exit the example:
|
|
|
|
```text
|
|
Interface: bytes recv bytes sent
|
|
================ ==================== ====================
|
|
br-883c4c992deb: 823307769 0.2 kbps 1537694158 0.5 kbps
|
|
br-d73af6e6d094: 9137600399 0.9 kbps 2334717319 0.4 kbps
|
|
docker0: 2938964881 0.6 kbps 19291691656 11.4 kbps
|
|
docker_gwbridge: 1172300 0.0 kbps 15649536 0.0 kbps
|
|
enp5s0f0: 44643307888420 5599.8 kbps 1509415976135 99.0 kbps
|
|
enp5s0f1: 0 0.0 kbps 0 0.0 kbps
|
|
lo: 161143108162 0.4 kbps 161143108162 0.4 kbps
|
|
veth3154ff3: 3809619534 1.0 kbps 867529906 0.4 kbps
|
|
veth487bc9b: 2650532684 0.8 kbps 2992458899 0.9 kbps
|
|
veth8cb8ca8: 3234030733 0.7 kbps 16921098378 11.4 kbps
|
|
vethbadbe14: 12007615348 3.8 kbps 15583195644 5.0 kbps
|
|
vethc152f93: 978828 0.0 kbps 3839134 0.0 kbps
|
|
vethe481f30: 1637142 0.0 kbps 15805768 0.0 kbps
|
|
vethfac2e83: 19445827683 6.2 kbps 16194181515 5.1 kbps
|
|
|
|
```
|
|
|
|
## netstat.rs
|
|
|
|
Prints out all open and listening TCP/UDP sockets, along with the owning process. The
|
|
output format is very similar to the standard `netstat` linux utility:
|
|
|
|
```text
|
|
Local address Remote address State Inode PID/Program name
|
|
0.0.0.0:53 0.0.0.0:0 Listen 30883 1409/pdns_server
|
|
0.0.0.0:51413 0.0.0.0:0 Listen 24263 927/transmission-da
|
|
0.0.0.0:35445 0.0.0.0:0 Listen 21777 942/rpc.mountd
|
|
0.0.0.0:22 0.0.0.0:0 Listen 27973 1149/sshd
|
|
0.0.0.0:25 0.0.0.0:0 Listen 28295 1612/master
|
|
```
|
|
|
|
## pressure.rs
|
|
|
|
Prints out CPU/IO/Memory pressure information
|
|
|
|
## ps.rs
|
|
|
|
Prints out all processes that share the same tty as the current terminal. This is very similar to the standard
|
|
`ps` utility on linux when run with no arguments:
|
|
|
|
```text
|
|
PID TTY TIME CMD
|
|
8369 pty/13 4.05 bash
|
|
23124 pty/13 0.23 basic-http-serv
|
|
24206 pty/13 0.11 ps
|
|
```
|
|
|
|
## self_memory.rs
|
|
|
|
Shows several ways to get the current memory usage of the current process
|
|
|
|
```text
|
|
PID: 21867
|
|
Memory page size: 4096
|
|
== Data from /proc/self/stat:
|
|
Total virtual memory used: 3436544 bytes
|
|
Total resident set: 220 pages (901120 bytes)
|
|
|
|
== Data from /proc/self/statm:
|
|
Total virtual memory used: 839 pages (3436544 bytes)
|
|
Total resident set: 220 pages (901120 byte)s
|
|
Total shared memory: 191 pages (782336 bytes)
|
|
|
|
== Data from /proc/self/status:
|
|
Total virtual memory used: 3436544 bytes
|
|
Total resident set: 901120 bytes
|
|
Total shared memory: 782336 bytes
|
|
```
|
|
|
|
## lsmod.rs
|
|
|
|
This lists all the loaded kernel modules, in a simple tree format.
|
|
|
|
## diskstat.rs
|
|
|
|
Lists IO information for local disks:
|
|
|
|
```text
|
|
sda1 mounted on /:
|
|
total reads: 7325390 (13640070 ms)
|
|
total writes: 124191552 (119109541 ms)
|
|
total flushes: 0 (0 ms)
|
|
```
|
|
|
|
Note: only local disks will be shown (not NFS mounts,
|
|
and disks used for ZFS will not be shown either).
|
|
|
|
## lslocks.rs
|
|
|
|
Shows current file locks in a format that is similiar to the `lslocks` utility.
|
|
|
|
## mountinfo.rs
|
|
|
|
Lists all mountpoints, along with their type and options:
|
|
|
|
```text
|
|
sysfs on /sys type sysfs (noexec,relatime,nodev,rw,nosuid)
|
|
proc on /proc type proc (noexec,rw,nodev,relatime,nosuid)
|
|
udev on /dev type devtmpfs (rw,nosuid,relatime)
|
|
mode = 755
|
|
nr_inodes = 4109298
|
|
size = 16437192k
|
|
devpts on /dev/pts type devpts (nosuid,rw,noexec,relatime)
|
|
gid = 5
|
|
ptmxmode = 000
|
|
mode = 620
|
|
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime)
|
|
size = 3291852k
|
|
mode = 755
|
|
/dev/sda1 on / type ext4 (rw,relatime)
|
|
errors = remount-ro
|
|
```
|
|
|
|
## process_hierarchy.rs
|
|
|
|
Lists all processes as a tree. Sub-processes will be hierarchically ordered beneath their parents.
|
|
|
|
```text
|
|
1 /usr/lib/systemd/systemd --system --deserialize 54
|
|
366 /usr/lib/systemd/systemd-journald
|
|
375 /usr/lib/systemd/systemd-udevd
|
|
383 /usr/bin/lvmetad -f
|
|
525 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
|
|
529 /usr/bin/syncthing -no-browser -no-restart -logflags=0
|
|
608 /usr/bin/syncthing -no-browser -no-restart -logflags=0
|
|
530 /usr/lib/systemd/systemd-logind
|
|
...
|
|
```
|
|
|