22 releases

0.10.0 Dec 22, 2023
0.9.2 Nov 11, 2023
0.8.2 Mar 1, 2022
0.8.1 Dec 1, 2021
0.2.1 Jan 27, 2021

#1088 in Network programming

GPL-3.0-or-later

140KB
337 lines

Sysit

System Sit, check on the system with a quick glance!

Crate Build

About

System resources overview within 50 characters. Relies on sysinfo to get all the relevant system information.

sysit with tmux

Install

If you are on Arch, install via Aur: https://aur.archlinux.org/packages/sysit-bin/

On other platforms, you can use the install script, which will install a pre-built binary. To install at /usr/local/bin/:

curl -s https://raw.githubusercontent.com/crodjer/sysit/main/scripts/install.sh | sudo bash

Or, to install at a location of your choice, say ~/.local/bin:

curl -s https://raw.githubusercontent.com/crodjer/sysit/main/scripts/install.sh | bash -s ~/.local/bin

You can always use cargo if your platform isn't supported:

cargo install sysit

Reasoning

The ability to quickly see basic system information without needing a context switch can be useful. sysit is easy to incorporate in the various status bars - such as that of tmux, i3/sway etc.

Understanding the output

 Memory Usage
 CPU Information (usage and optionally frequency)
 Temperature for the hottest sensor
 Network Ping

Usage

From the console

Simply type sysit for a quick glance at the system information.

sysit on  main is 📦 v0.6.0 via 🦀 v1.56.1
at 18:43:42 ❯ sysit
 21%5%45°C    12.0 ms

This can also be used with a desktop manager's applets. For example, Xfce's genmon.

Continuous Monitoring

Watch Mode

Works as if watch sysit. Can be used within tmux status line for continuous monitoring. Eg:

set -g status-right '#[fg=black,bg=blue] #(sysit -wi 2) '

Watch mode with sysit -wi 2 has a benefit of maintaining a single process. Just using plain sysit command will also work, but that'd mean tmux spawns a new process every time.

Log Mode

At times it can be handy to log system stats, for instance, while benchmarking.

sysit on  main is 📦 v0.6.0 via 🦀 v1.56.1
at 18:45:26 ❯ sysit -lf
 21%5%   @2.9 GHz   44°C    9.91 ms
 21%2%   @2.1 GHz   44°C    8.43 ms
 21%3%   @2.2 GHz   46°C    14.4 ms
 21%1%   @3.8 GHz   46°C    139 ms
 24%63%  @4.1 GHz   55°C    17.9 ms
 25%10%  @4.0 GHz   48°C    354 ms
 26%10%  @4.1 GHz   45°C    472 ms

Help

sysit

Get system resources overview in 50 characters
For usage details, try --help

Understanding the output:
   Memory Usage
   CPU Information (usage and optionally frequency)
   Temperature for the hottest sensor
   Network Ping

USAGE:
    sysit [OPTIONS]

OPTIONS:
    -c, --colors
            force output to be always colorized

    -f, --frequency
            show CPU frequency

    -h, --help
            Print help information

    -i, --interval <INTERVAL>
            update interval in seconds for watch/log mode

            [default: 1]

    -l, --log
            run in log mode (will continuously append a row to standard output)

        --no-colors
            force output to be never colorized

        --ping-host <PING_HOST>
            host to use for testing the ping

            [default: 1.0.0.1]

        --threshold-cpu-high <THRESHOLD_CPU_HIGH>
            the threshold for high cpu usage (higher values will be rendered in red)

            [default: 80.0]

        --threshold-cpu-medium <THRESHOLD_CPU_MEDIUM>
            the threshold for medium cpu usage (higher values will be rendered in yellow)

            [default: 50.0]

        --threshold-memory-high <THRESHOLD_MEMORY_HIGH>
            the threshold for high memory usage (higher values will be rendered in red)

            [default: 80.0]

        --threshold-memory-medium <THRESHOLD_MEMORY_MEDIUM>
            the threshold for medium memory usage (higher values will be rendered in yellow)

            [default: 50.0]

        --threshold-temp-hot <THRESHOLD_TEMP_HOT>
            the threshold for high temperature (higher values will be rendered in red)

            [default: 75.0]

        --threshold-temp-warm <THRESHOLD_TEMP_WARM>
            the threshold for warm temperature (higher values will be rendered in yellow)

            [default: 55.0]

    -V, --version
            Print version information

    -w, --watch
            run in watch mode (as if running with the watch command)

Dependencies

~2–12MB
~93K SLoC