Underappreciated `top`

https://friendo.monster/posts/underappreciated-top.html

Always thought top was one of those programs frozen in time since the 70s, but apparently, it has a feature set comparable to htop and the like. The default configuration just doesn't show much of it...

136 points · 34 comments · view on lemmy.world

34 Comments

SnotFlickerman@lemmy.blahaj.zone · 51 pts · 283d (1 reply)

That moment when you realize you're not in !onehundredninetysix@lemmy.blahaj.zone and people are talking about an entirely different kind of top than you were thinking.


This is dope, though, I also thought top was just stuck in time.

Jankatarch@lemmy.world · 2 pts · 281d

I decided to check and first meme had thevword "terminal" in it.

Guess what I interpreted.

paequ2@lemmy.today · 45 pts · 283d (11 replies)

Wow. wat. This is top??

top

The only reason I use htop is because I never bothered to learn top. I'm totally down to avoid downloading and installing another utility though. The time to learn top is TODAY!

Ephera@lemmy.ml · 13 pts · 283d (10 replies)

Yeah, I would often just grab htop because I had no idea how to read the CPU usage out of top.
For example, for me it says:

%Cpu(s):  0,4 us,  0,4 sy,  0,0 ni, 98,8 id,  0,0 wa,  0,3 hi,  0,0 si,  0,0 st

Now that I look at it, I can guess that us and sy are supposed to be user and system time. And I guess id is supposed to be idle.
I have no guess what the other numbers might be, though. And well, I would often like to see the CPU usage per core.
Now I know that I can just press 1t and get effectively the same view as in htop.

I might learn top's filtering workflow, too. But so far, I always killed processes with ps -ef | grep <process-name> and then kill <pid>, which isn't particularly more cumbersome, so will see...

Shadow@lemmy.ca · 13 pts · 283d

Wa is IO Wait. CPU time burned spent waiting for disk

Hi is hardware irq, similar concept but for hardware devices.

paequ2@lemmy.today · 3 pts · 282d (1 reply)

I would often just grab htop because I had no idea how to read the CPU usage out of top.

lol, same! 1t gets me 90% of the functionality I use in htop.

bastion@feddit.nl · 2 pts · 281d

i also hit 4 a few times to give more columns to the cpu usage meters.

__nobodynowhere@sh.itjust.works · 3 pts · 283d (1 reply)

Why not use pkill?

Ephera@lemmy.ml · 2 pts · 283d

Ah, that was a brainfart. I do use pkill primarily. I just use the other command, when I'm not sure what the process is called...

IsoKiero@sopuli.xyz · 2 pts · 283d (1 reply)

I always killed processes with ps -ef | grep

From top man-page global commands:

  • k :Kill-a-task

         You will be prompted for a PID and then the signal to send.
    
Hupf@feddit.org · 3 pts · 283d

Also, pgrep and pkill may be handy.

utopiah@lemmy.ml · 2 pts · 282d (2 replies)

I always killed processes with ps -ef | grep and then kill

you could check pgrep <process-name> too

Ephera@lemmy.ml · 2 pts · 282d (1 reply)

That is a good tip. Unfortunately, I am too fish to understand it. 🙃

I just type ps and in 9 out of 10 cases, my shell suggests ps -ef | grep <process-name>. So, it's actually less for me to type than "pgrep"...

utopiah@lemmy.ml · 2 pts · 282d

Far from me to try to bash a suggestion's on one's head but ^rpg or ^r<process-name> (for reverse-i-search) is probably quite fast, obviously depends entirely on your typical usage. Hard to do less than 2 keystrokes I admit.

eager_eagle@lemmy.world · 30 pts · 283d (1 reply)

Why are good features never made defaults in some tools? We can make it look almost like htop and it feels like the defaults couldn't be worse. It's such a waste to hide good features behind bad defaults.

Ephera@lemmy.ml · 16 pts · 283d

Yeah, I especially don't understand it here, because it's a graphical tool. You don't have to keep backwards compatibility.

Even if you're worried about people depending on the format that's being piped, you could keep only the piped format stable. We have the technology.

scott@lem.free.as · 17 pts · 283d (3 replies)

Take a look at btop.

cyberwolfie@lemmy.ml · 3 pts · 282d (2 replies)

My go-to! There's a Python version, bpytop, as well - not sure why you would want that over the C++-version though.

dizzy@lemmy.ml · 3 pts · 281d

The author of btop wrote bpytop first and then when it got popular, they decided to rewrite it in C++

aqua_cat@pawb.social · 1 pts · 281d

Ther's a Python version... not sure why you would want that

Just guessing but maybe for different architecures like RiscV and PPC? It might still be possible to compile from source, but if you have python why not just take a shortcut

yuriRO@lemmy.dbzer0.com · 12 pts · 282d

I'm also underappreciated top

alteredEnvoy@sopuli.xyz · 11 pts · 283d

I wish the author can just share a configuration file. I am not configuring this on all my machines manually.

paequ2@lemmy.today · 5 pts · 282d

I missed this part during my first read:

This screen allows you to customise which fields are displayed in the currently selected window. Use cursor keys (or Alt + j and k) to move up and down this list, d to toggle whether a field is displayed and s to choose the field by which the window is sorted.

and when I tried it, it seemed like my commands weren't doing anything... so in case anyone else finds this helpful...

How to sort columns in top.

  • Launch top
  • Press f (not SHIFT+F)
  • Use arrow keys or alt+j / alt+k to select a column
  • Press s to sort by the column you've currently selected
    • note: you won't get any obvious feedback, this is normal... I guess
    • look at the top line: whose current sort field is $COLUMN_NAME
    • this line will change when you press s
  • Press q to exit the Fields Management screen
  • Selected column should now be sorted from largest to smallest

At this point, top may not look like it sorted the selected column. It may be helpful to tell top to highlight the currently sorted column. Press x to do this.

Now it should be easier to tell which column was sorted.

jerkface@lemmy.ca · 4 pts · 282d (3 replies)

You're talking about procps-ng top.

paequ2@lemmy.today · 5 pts · 282d (2 replies)

Wait... what?

$ top --version
top from procps-ng 4.0.5-dirty

The following utilities are provided by procps:

  • free - Report the amounts of free and used memory in the system
  • hugetop - Report hugepage usage of processes and the system as a whole
  • kill - Send a signal to a process based on PID
  • pgrep - List processes based on name or other attributes
  • pkill - Send a signal to a process based on name or other attributes
  • pmap - Report the memory map of a process
  • ps - Report process information including PID and resource usage
  • pwdx - Report the current working directory of a process
  • skill - Obsolete version of pgrep/pkill
  • slabtop - Display kernel slab cache information in real time
  • snice - Renice a process
  • sysctl - Read or write kernel parameters at run-time
  • tload - Graphical representation of system load average
  • top - Dynamic real-time view of running processes
  • uptime - Display how long the system has been running
  • vmstat - Report virtual memory statistics
  • w - Report logged in users and what they are doing
  • watch - Execute a program periodically, showing output fullscreen

https://gitlab.com/procps-ng/procps

Oh, so these guys manage top and a few other common utilities.

jerkface@lemmy.ca · 4 pts · 281d (1 reply)

No, these guys manage a version of top. There are dozens of versions. Every major OS has their own top, or an equivalent. I bet there are even linux distros that don't use this version of top.

paequ2@lemmy.today · 2 pts · 281d

Oooooh, ok. TIL.

At least Arch and Debian seem to use top from procps-ng. Good to know.

non_burglar@lemmy.world · 4 pts · 283d

Saving for later, pretty cool.

Sxan@piefed.zip · 3 pts · 283d (2 replies)

It's not as fancy. No graphs, blinking lights, paneled layout.

I maintain one of þose fancy nu-tops, and I keep it running for þe pretty... but when I want to get work done, I always end up opening top. Because in þe end, columns of text are almost always more useful þan histograms.

ReversalHatchery@beehaw.org · 7 pts · 283d (1 reply)

It's not as fancy. No graphs, blinking lights, paneled layout.

apparently it has it all

https://lemmy.today/comment/20055580

Sxan@piefed.zip · 0 pts · 282d

Ok, fair enough. It has meters. Most alternatives exist to show data a graphs; top is sparse in þis way. I stand by my comment: btop, gotop, and ilk exist to look pretty, and sometimes a histogram can be informative, but usually top is much more of a useful tool and less of a fancy dashboard.

eugenia@lemmy.ml · 3 pts · 283d

Top reads available memory more correctly than htop imho.

Digit@lemmy.wtf · 2 pts · 280d

Now if only I could hack up top to show which bedrock stratum each process running from, like paradigm did for me one christmas with (a now old version of) htop, I might consider learning how to use top.

Htop's hard to beat.

Others, like btop, are too heavy, too try-hard.

Would be nice if top were as convenient and easy. Oh wait, that's basically htop, again.

Fizz@lemmy.nz · 1 pts · 280d

I just hate how top doesnt format the values into mb, gb and tb. Its 2025 we dont need to see things in bytes. It makes me skip top and go straight to htop