Giter Site home page Giter Site logo

avafinger / htop-2.1.1_enhanced-version Goto Github PK

View Code? Open in Web Editor NEW
17.0 4.0 4.0 3.65 MB

Enhanced version of htop 2.1.0 to monitor the health of big.LITTLE arm core

C 92.45% M4 3.90% Makefile 0.85% Shell 2.36% Python 0.44%
htop arm64 rk3399 nanopi-m4 monitor cpu deb cpu-freq arm cpu-vcore

htop-2.1.1_enhanced-version's Introduction

htop-2.1.1_enhanced-version

An enhanced version of htop 2.1.0 to monitor the system health of your big.LITTLE arm64 core.

Monitor the health of your RK3399 board Real-Time and watch CPU Temp, CPU VCore and CPU Freq (big.LITTLE) to find out when throttling occurs and which task is time-consuming.

Screenshot of NanoPi M4 (arm64)

NanoPi M4 7z benchmark

Installing Deb Package

Deb package for Bionic (Ubuntu 18.04) arm64. It may work on Debian, but i have not tested it

  • Install htop-2.1.1 deb package

      git clone https://github.com/avafinger/htop-2.1.1_enhanced-version
      cd htop-2.1.1_enhanced-version/htop
      sudo dpkg -i htop_2.1.1-3_arm64.deb
    

Building the package from source code

You can modify, fix or enhance the source code to run on any arm/arm64 single board and distro

  • Build the package

      cd htop-2.1.1_enhanced-version/htop/htop-2.1.1/
      sudo dpkg-buildpackage -b -uc -us
    
  • Deb packages

      ll ../
      -rw-r--r--  1 root   root   267K Oct 13 20:56 htop-dbgsym_2.1.1-3_arm64.ddeb
      -rw-r--r--  1 root   root   5.3K Oct 13 20:56 htop_2.1.1-3_arm64.buildinfo
      -rw-r--r--  1 ubuntu ubuntu 1.3K Oct 13 20:56 htop_2.1.1-3_arm64.changes
      -rw-r--r--  1 ubuntu ubuntu  74K Oct 13 20:56 htop_2.1.1-3_arm64.deb
    
  • Install

      cd ..
      sudo dpkg -i htop_2.1.1-3_arm64.deb
    

Before you build the package, make sure you install all depencies:

    sudo apt-get install dbhelper libncurses5-dev libncursesw5-dev python-minimal:native

Running htop-2.1.1

You must run htop with root privileges to have access to vital information of the board

  • Run: sudo htop

Htop setup

  • To Display CPU Freq, CPU Temp. and CPU VCore (big.LITTLE) you have to enter Configuration setup F2 and add the desired info.

Htop setup

htop-2.1.1_enhanced-version's People

Contributors

avafinger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

htop-2.1.1_enhanced-version's Issues

Enhancement Request: breakdown temp and cpufreq by big.little

First off, thanks so much for implementing this, extremely useful to monitor the hardware.

I'm running it on a Nanopc T4, also RK3399, and this works great.

I've got a request for an enhancement.

You already break down the CpuVcore by big.LITTLE:

Cpu Vcor: 800 mv, 1.12 V (big.LITTLE)

On the RK3399, there are really only two temps and two cpufreqs (similar to Vcore above):

pi@NanoPC-T4:~$ ls -l /sys/devices/system/cpu/cpufreq/policy?/cpuinfo_cur_freq /sys/class/thermal/thermal_zone?/temp
-r--r--r-- 1 root root 4096 Dec 24 00:39 /sys/class/thermal/thermal_zone0/temp
-r--r--r-- 1 root root 4096 Dec 24 00:39 /sys/class/thermal/thermal_zone1/temp
-r-------- 1 root root 4096 Dec 24 00:39 /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq
-r-------- 1 root root 4096 Dec 24 00:39 /sys/devices/system/cpu/cpufreq/policy4/cpuinfo_cur_freq

The zone0/policy0 applies to the LITTLE cores. This one temp and cpufreq applies to all LITTLE cores (the LITTLE cluster as a whole).

And similarly, zone1/policy4 apply to the big cores. Again, this one temp and cpufreq applies to all the big cores (the big cluster).

Here is what I get on my machine:

pi@NanoPC-T4:~$ sudo cat /sys/devices/system/cpu/cpufreq/policy?/cpuinfo_cur_freq /sys/class/thermal/thermal_zone?/temp
1416000
816000
31111
30555

Could you change the CpuTemp to look like this:

Cpu Temp: 30 C 31 C (big.LITTLE)

Or maybe just add a separate big and LITTLE variant of CpuTemp:

Cpu Temp: 31 C ( .LITTLE)
Cpu Temp: 30 C (big. )

Similarly, for CpuFreq:

Cpu Freq: .82 GHz 1.42 GHz (big.LITTLE)

Or break it into two CpuTemp's, one for LITTLE and another for big.

I've seen cases where LITTLE temp is > 40 while big temp is in the 30's.

Would be nice to see both cluster's temps and freq separately. Pretty much eliminates the need for CpuFreq 1 through 6.

Thanks, keep up the good work!

Adding different temp zone

Hi,
Thanks for this project, it is very useful.
I saw that there is only one CPU Temp, which refer to thermal_zone0. I'm trying to add also other thermal zones, since in my board there are different ones.
My problem is that I can't understand where Temperature Meter are initialized, since I've seen that this meter is updated by CpuTempMeter_setValues callback, so adding here the zone parameter it will be easy to getting the right values, but how I can insert it to the function?

Many thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.