s-tui (Stress-Terminal UI)

CPU stress test with temperature monitoring and output.

wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/s-tui/1.0.0-1/s-tui_1.0.0-1.debian.tar.xz

root@rdlab:/home/exx# wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/s-tui/1.0.0-1/s-tui_1.0.0-1.debian.tar.xz
--2021-08-18 17:42:58--  https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/s-tui/1.0.0-1/s-tui_1.0.0-1.debian.tar.xz
Resolving launchpad.net (launchpad.net)... 91.189.89.223, 91.189.89.222, 2001:67c:1560:8003::8004, ...
Connecting to launchpad.net (launchpad.net)|91.189.89.223|:443... connected.
HTTP request sent, awaiting response... 303 See Other
Location: https://launchpadlibrarian.net/462640298/s-tui_1.0.0-1.debian.tar.xz [following]
--2021-08-18 17:42:59--  https://launchpadlibrarian.net/462640298/s-tui_1.0.0-1.debian.tar.xz
Resolving launchpadlibrarian.net (launchpadlibrarian.net)... 91.189.89.229, 91.189.89.228, 2001:67c:1560:8003::8007, ...
Connecting to launchpadlibrarian.net (launchpadlibrarian.net)|91.189.89.229|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2916 (2.8K) [application/octet-stream]
Saving to: ‘s-tui_1.0.0-1.debian.tar.xz’

s-tui_1.0.0-1.debian.tar.xz              100%[==================================================================================>]   2.85K  --.-KB/s    in 0s

2021-08-18 17:43:00 (209 MB/s) - ‘s-tui_1.0.0-1.debian.tar.xz’ saved [2916/2916]

root@rdlab:/home/exx# ls
Desktop  Documents  Downloads  emli_support  Exxact  Music  NVIDIA-Linux-x86_64-470.57.02.run  Pictures  Public  s-tui_1.0.0-1.debian.tar.xz  Templates  Videos

root@rdlab:/home/exx# tar -xf s-tui_1.0.0-1.debian.tar.xz
root@rdlab:/home/exx# ls
debian   Documents  emli_support  Music                              Pictures  s-tui_1.0.0-1.debian.tar.xz  Videos
Desktop  Downloads  Exxact        NVIDIA-Linux-x86_64-470.57.02.run  Public    Templates

root@rdlab:/home/exx/debian# ls
changelog  control  copyright  docs  manpages  rules  source  s-tui.1  watch

root@rdlab:/home/exx/debian# apt-get install s-tui
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  eatmydata libeatmydata1 libnetplan0 python3-importlib-metadata python3-jinja2 python3-json-pointer python3-jsonpatch python3-jsonschema python3-more-itertools
  python3-pyrsistent python3-zipp
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  python3-psutil python3-urwid
Suggested packages:
  python-psutil-doc python-urwid-doc
The following NEW packages will be installed:
  python3-psutil python3-urwid s-tui
0 upgraded, 3 newly installed, 0 to remove and 64 not upgraded.
Need to get 332 kB of archives.
After this operation, 1,975 kB of additional disk space will be used.
Do you want to continue? [Y/n] y

Get:1 http://us.archive.ubuntu.com/ubuntu focal/main amd64 python3-psutil amd64 5.5.1-1ubuntu4 [141 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 python3-urwid amd64 2.0.1-3 [159 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 s-tui all 1.0.0-1 [32.1 kB]
Fetched 332 kB in 1s (559 kB/s)
Selecting previously unselected package python3-psutil.
(Reading database ... 191050 files and directories currently installed.)
Preparing to unpack .../python3-psutil_5.5.1-1ubuntu4_amd64.deb ...
Unpacking python3-psutil (5.5.1-1ubuntu4) ...
Selecting previously unselected package python3-urwid.
Preparing to unpack .../python3-urwid_2.0.1-3_amd64.deb ...
Unpacking python3-urwid (2.0.1-3) ...
Selecting previously unselected package s-tui.
Preparing to unpack .../archives/s-tui_1.0.0-1_all.deb ...
Unpacking s-tui (1.0.0-1) ...
Setting up python3-urwid (2.0.1-3) ...
/usr/lib/python3/dist-packages/urwid/tests/test_canvas.py:141: SyntaxWarning: 'str' object is not callable; perhaps you missed a comma?
  assert result == expected, "got: %r expected: %r" (result, expected)
/usr/lib/python3/dist-packages/urwid/tests/test_canvas.py:145: SyntaxWarning: 'str' object is not callable; perhaps you missed a comma?
  assert result == expected, "got: %r expected: %r" (result, expected)
/usr/lib/python3/dist-packages/urwid/tests/test_canvas.py:149: SyntaxWarning: 'str' object is not callable; perhaps you missed a comma?
  assert result == expected, "got: %r expected: %r" (result, expected)
/usr/lib/python3/dist-packages/urwid/tests/test_canvas.py:232: SyntaxWarning: 'str' object is not callable; perhaps you missed a comma?
  assert result == expected, "got: %r expected: %r" (result, expected)
Setting up python3-psutil (5.5.1-1ubuntu4) ...
Setting up s-tui (1.0.0-1) ...
Processing triggers for man-db (2.9.1-1) ...
root@rdlab:/home/exx/debian#

View from xterm

From here, the top-left shows you successfully install this for 'Monitor' mode, and is missing the stress test. I used 'ctrl+c' to back out of the program to install 'stress'

installing 'stress'
root@rdlab:/home/exx# apt-get install stress
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  eatmydata libeatmydata1 libnetplan0 python3-importlib-metadata python3-jinja2 python3-json-pointer python3-jsonpatch python3-jsonschema python3-more-itertools
  python3-pyrsistent python3-zipp
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  stress
0 upgraded, 1 newly installed, 0 to remove and 64 not upgraded.
Need to get 18.4 kB of archives.
After this operation, 55.3 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 stress amd64 1.0.4-6 [18.4 kB]
Fetched 18.4 kB in 0s (81.0 kB/s)
Selecting previously unselected package stress.
(Reading database ... 191174 files and directories currently installed.)
Preparing to unpack .../stress_1.0.4-6_amd64.deb ...
Unpacking stress (1.0.4-6) ...
Setting up stress (1.0.4-6) ...
Processing triggers for install-info (6.7.0.dfsg.2-5) ...
Processing triggers for man-db (2.9.1-1) ...
root@rdlab:/home/exx#
installing 'stress-ng'
root@rdlab:/home/exx# apt-get install stress-ng
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  eatmydata libeatmydata1 libnetplan0 python3-importlib-metadata python3-jinja2 python3-json-pointer python3-jsonpatch python3-jsonschema python3-more-itertools
  python3-pyrsistent python3-zipp
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libipsec-mb0 libjudydebian1 libsctp1
Suggested packages:
  lksctp-tools
The following NEW packages will be installed:
  libipsec-mb0 libjudydebian1 libsctp1 stress-ng
0 upgraded, 4 newly installed, 0 to remove and 64 not upgraded.
Need to get 2,291 kB of archives.
After this operation, 19.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

Get:1 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 libipsec-mb0 amd64 0.53-1 [491 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 libjudydebian1 amd64 1.0.5-5 [94.6 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu focal/main amd64 libsctp1 amd64 1.0.18+dfsg-1 [7,876 B]
Get:4 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 stress-ng amd64 0.11.07-1 [1,697 kB]
Fetched 2,291 kB in 1s (2,980 kB/s)
Selecting previously unselected package libipsec-mb0.
(Reading database ... 191184 files and directories currently installed.)
Preparing to unpack .../libipsec-mb0_0.53-1_amd64.deb ...
Unpacking libipsec-mb0 (0.53-1) ...
Selecting previously unselected package libjudydebian1.
Preparing to unpack .../libjudydebian1_1.0.5-5_amd64.deb ...
Unpacking libjudydebian1 (1.0.5-5) ...
Selecting previously unselected package libsctp1:amd64.
Preparing to unpack .../libsctp1_1.0.18+dfsg-1_amd64.deb ...
Unpacking libsctp1:amd64 (1.0.18+dfsg-1) ...
Selecting previously unselected package stress-ng.
Preparing to unpack .../stress-ng_0.11.07-1_amd64.deb ...
Unpacking stress-ng (0.11.07-1) ...
Setting up libjudydebian1 (1.0.5-5) ...
Setting up libipsec-mb0 (0.53-1) ...
Setting up libsctp1:amd64 (1.0.18+dfsg-1) ...
Setting up stress-ng (0.11.07-1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
root@rdlab:/home/exx#

I opened up s-tui again, and now the 'Stress' mode is no longer 'N/A'.

I'm remoting into this system. If I click outside of the terminal, clicking back in doesn't allow me to interact with the UI. If this happens, just close it (ctrl+c) and start up the program (s-tui) again. Once I got back in, I toggled the 'Mode' to 'Stress', and this is what I get:

I remoted in with another terminal to check CPU usage (I counted, and ALL 48 cores are being stressed at 100%, definitely some choppy usage). 

exx@rdlab:~$ top -b -n 1 > top.txt
exx@rdlab:~$ ls
debian   Documents  emli_support  Music                              Pictures  s-tui_1.0.0-1.debian.tar.xz  top.txt
Desktop  Downloads  Exxact        NVIDIA-Linux-x86_64-470.57.02.run  Public    Templates                    Videos
exx@rdlab:~$ less top.txt
exx@rdlab:~$ top
top - 18:02:47 up 12 min,  3 users,  load average: 47.56, 26.21, 10.78
Tasks: 723 total,  49 running, 674 sleeping,   0 stopped,   0 zombie
%Cpu(s):100.0 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  64171.4 total,  61414.4 free,   1674.8 used,   1082.2 buff/cache
MiB Swap:  14336.0 total,  14336.0 free,      0.0 used.  61809.0 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
   4651 root      20   0    3856    104      0 R 100.0   0.0   3:45.01 stress
   4662 root      20   0    3856    104      0 R 100.0   0.0   3:45.08 stress
   4670 root      20   0    3856    104      0 R 100.0   0.0   3:45.08 stress
   4671 root      20   0    3856    104      0 R 100.0   0.0   3:45.14 stress
   4673 root      20   0    3856    104      0 R 100.0   0.0   3:45.02 stress
   4676 root      20   0    3856    104      0 R 100.0   0.0   3:44.47 stress
   4679 root      20   0    3856    104      0 R 100.0   0.0   3:45.06 stress
   4685 root      20   0    3856    104      0 R 100.0   0.0   3:45.05 stress
   4642 root      20   0    3856    104      0 R 100.0   0.0   3:45.06 stress
   4643 root      20   0    3856    104      0 R 100.0   0.0   3:45.07 stress
   4644 root      20   0    3856    104      0 R 100.0   0.0   3:45.03 stress
   4645 root      20   0    3856    104      0 R 100.0   0.0   3:45.07 stress
   4646 root      20   0    3856    104      0 R 100.0   0.0   3:44.90 stress
   4647 root      20   0    3856    104      0 R 100.0   0.0   3:43.77 stress
   4648 root      20   0    3856    104      0 R 100.0   0.0   3:45.05 stress
   4649 root      20   0    3856    104      0 R 100.0   0.0   3:45.08 stress
   4652 root      20   0    3856    104      0 R 100.0   0.0   3:45.09 stress
   4653 root      20   0    3856    104      0 R 100.0   0.0   3:45.07 stress
   4654 root      20   0    3856    104      0 R 100.0   0.0   3:45.09 stress
   4655 root      20   0    3856    104      0 R 100.0   0.0   3:45.05 stress
   4656 root      20   0    3856    104      0 R 100.0   0.0   3:45.10 stress
   4658 root      20   0    3856    104      0 R 100.0   0.0   3:45.10 stress
   4659 root      20   0    3856    104      0 R 100.0   0.0   3:45.10 stress
   4660 root      20   0    3856    104      0 R 100.0   0.0   3:45.05 stress
   4661 root      20   0    3856    104      0 R 100.0   0.0   3:45.10 stress
   4663 root      20   0    3856    104      0 R 100.0   0.0   3:45.12 stress
   4665 root      20   0    3856    104      0 R 100.0   0.0   3:45.00 stress
   4666 root      20   0    3856    104      0 R 100.0   0.0   3:45.13 stress
   4667 root      20   0    3856    104      0 R 100.0   0.0   3:45.09 stress
   4668 root      20   0    3856    104      0 R 100.0   0.0   3:45.12 stress
   4669 root      20   0    3856    104      0 R 100.0   0.0   3:45.11 stress
   4672 root      20   0    3856    104      0 R 100.0   0.0   3:45.03 stress
   4674 root      20   0    3856    104      0 R 100.0   0.0   3:45.15 stress
   4675 root      20   0    3856    104      0 R 100.0   0.0   3:45.04 stress
   4677 root      20   0    3856    104      0 R 100.0   0.0   3:45.00 stress
   4678 root      20   0    3856    104      0 R 100.0   0.0   3:45.12 stress
   4680 root      20   0    3856    104      0 R 100.0   0.0   3:45.14 stress
   4681 root      20   0    3856    104      0 R 100.0   0.0   3:45.16 stress
   4682 root      20   0    3856    104      0 R 100.0   0.0   3:44.69 stress
   4683 root      20   0    3856    104      0 R 100.0   0.0   3:45.17 stress
   4684 root      20   0    3856    104      0 R 100.0   0.0   3:45.19 stress
   4686 root      20   0    3856    104      0 R 100.0   0.0   3:45.20 stress
   4687 root      20   0    3856    104      0 R 100.0   0.0   3:45.20 stress
   4688 root      20   0    3856    104      0 R 100.0   0.0   3:45.09 stress
   4689 root      20   0    3856    104      0 R 100.0   0.0   3:44.21 stress
   4657 root      20   0    3856    104      0 R  99.7   0.0   3:44.14 stress
   4664 root      20   0    3856    104      0 R  98.7   0.0   3:45.01 stress
   4650 root      20   0    3856    104      0 R  98.3   0.0   3:43.60 stress
   4515 root      20   0   46424  39156   9128 S   3.0   0.1   0:04.65 s-tui
    417 root      20   0       0      0      0 I   0.3   0.0   0:00.04 kworker/29:1-events
   2224 root      20   0       0      0      0 S   0.3   0.0   0:00.56 nv_queue
   4960 exx       20   0    9944   4552   3176 R   0.3   0.0   0:00.15 top