6 ms·
Explanation of everything you can see in htop/top on Linux (2019)
- deleted 4mo ago[deleted]
- TheChaplain 4mo agoThis is really good! I use htop often but pretty much only use it to find pid or cpu-culprits, and never really understood the rest.
- bwnkl 4mo agoFor pid I find pgrep to be the better suited tool
- wyclif 4mo agoI've had this bookmarked since 2016, and have referred to it many times over the years.
- fractorial 4mo agoAnyone else feel as if HN is healing? I hope this isn't the walking-ghost era of HN.
- thijson 4mo agoFor top if you use the > character it will sort by memory usage. I use that sometimes to figure out why my host is becoming laggy. Also you'll see swapd is taking up CPU.
- yomismoaqui 4mo agoI prefer using the more memory friendly M (uppercase) for memory and P (uppercase) for CPU
- myshapeprotocol 4mo ago[flagged]
- amelius 4mo agoA bit silly that you can see a load average but not the amount of Watts used by your system.
- roryirvine 4mo agopowertop to the rescue! https://github.com/fenrus75/powertop https://github.com/fenrus75/powertop
- cogman10 4mo ago2 Settings I change on every htop which makes a HUGE difference. 1. I disable user threads. Those mostly just clutter up the htop view while providing no useful information. 2. I enable the process tree view. Very frequently, where a process comes from is much more important than other information. It also lets you see and track things like a compiler process which is eating through a bunch of files. IMO, both these things should be the default behavior of htop.
- zekrioca 4mo agoI like the process tree view, but it stops the dynamic updates and reordering of process list.
- amelius 4mo ago[flagged]
- FpUser 4mo agoIrrelevant for you does not mean irrelevant for others
- amelius 4mo agoNails and hammers are great but most of us have moved on to screws and screwdrivers. What good does it do to stick your head in the sand? CPUs are great for orchestrating work, GPUs are great for actually doing the work.
- FpUser 4mo ago>"What good does it do to stick your head in the sand?" Get the fuck out. I do write for GPU as well. One does not replace the other.
- justthetop 4mo agoFor high performance work, gpus have replaced cpus a long time ago.
- goodmythical 4mo agoNot for all definitions of HPC, though. No one's doing database management on GPUs. No one's scraping data on GPUs. Can't run VMs on GPUs. Can't run web servers on GPU...
- FpUser 4mo agoIt is sunny in my backyard now. Must be sunny everywhere else
- kergonath 4mo ago
- imrehg 4mo agoI've relatively recently migrated over to using btop[0], and it's the kind of modern interface, useful and informative, that I needed. As others mention it - it seems to shows the Watts used as well :) (and network, and GPU, and disks,....) [0]: https://github.com/aristocratos/btop https://github.com/aristocratos/btop
- MomsAVoxell 4mo agoYup, btop zealot here, it even replaced iStatMenu on my brand new MacBook ..
- NetOpWibby 4mo agoOh wow, now I gotta check it out.
- deleted 4mo ago[deleted]
- zackify 4mo agoSame. Btop is the best
- JdeBP 4mo agoWell, unless one is using FreeBSD or OpenBSD, where the btop code is still using 32-bit integers to calculate 64-bit sizes, and falling prey to unsigned integer wraparound. htop's code calculates using size_t, which ends up as a 64-bit integer on 64-bit architectures. * https://news.ycombinator.com/item?id=48778757 https://news.ycombinator.com/item?id=48778757 (https://crocidb.com/post/freebsd-ate-my-ram/ https://crocidb.com/post/freebsd-ate-my-ram/) * https://github.com/aristocratos/btop/pull/1728 https://github.com/aristocratos/btop/pull/1728
- hinkley 4mo agoI still occasionally use alpine as a base image for containers and it looks like both doesn’t do musl so that’s out.
- 4mo ago
- MomsAVoxell 4mo agos/htop/btop/ You'll be glad you did.
- allarm 4mo agoWhat's so good about btop? I personally can't stand its interface, I don't need bells and whistles in my terminal.
- MomsAVoxell 4mo agoIt’s something I put in a very small terminal, hitting the 1,2,3,4,5 key until I get the view I need, just right, and there it sits telling me all during my busy compiles and things, just how max’ing my system is. It’s very informative, well designed for a TUI, and shows me everything I need to see without requiring futzing around with the menu bar, or dealing with registration nagging, or notification popups, or any of the other mundane things the non-terminal performance monitors seem to think is necessary to stain my eyeballs…
- allarm 4mo agoNot arguing here, but htop can do the same, no?
- MomsAVoxell 4mo agoThe way to think about it is that btop is a prettier, more modern version of htop, uses fewer resources, but is in general a better designed-UI. It provides a better view of system resources than htop, imho .. its timeline-centric views especially.
- LargoLasskhyfv 4mo agoI have both, and while btop can look nice, has some templates to cycle through, it lacks things I'm using in htop: s for stracing, l for listing open files, and x for which of them are locked. It also has some templates to cycle through, and can be made to look nice, too. That thing about the resource usage? A few MB more residential? Oh noez! (Maybe depends on compilation options) Only thing coming to mind are too fast updates, compared to btop defaults (Whatever the distro put in there). Timelines? Don't really care about them in there. Have other means to get them. Seems gimmicky to me in that scope. Only thing missing in htop is n for netstat/sockstat in htop. That would be nice in addition to s,l,x. Btop is still installed only to pose sometimes, for some people. Because of the Ooooh Cyber! effect. But tbh that works with htop too.
- WD-42 4mo agoWhen I read stuff like this, I come to the realization that even after daily driving Linux for 20+ years I still barely utilize its full potential. Great article.
- love0972 4mo agoVery interesting topic,Cool.
- AnotherGoodName 4mo agoI appreciate the note on virtual memory not being reliable. This is what Windows task manager reports by default and it's terrible. Resident size is the most reliable metric. Anything else can be wrongfully inflated by things like harmless memory mapped files that won't actually hurt anything. eg. memory map 2GB of logfiles, it'll only be paged in if reading that portion of the logfile so isn't really using memory but users look at the processes and claim "OMG why does this app use so much memory". It doesn't. It uses very little. You're reading the memory usage wrong. Chrome actually had this problem for a while and they moved away from using memory mapped files. Not because memory mapped files are a bad thing but because users will read the memory usage and go crazy over what they see even though it's not really using that much actual physical memory. There's actually guides out there on the web that tell people judge usage by virtual memory allocated too :(. At least this article gets it right :).
- jltsiren 4mo agoIf you use memory-mapped files, cached pages count towards the resident set size of your process. If you use ordinary file I/O, they don't. That behavior has amusing consequences in HPC clusters that monitor the memory usage of each job and kill them if they use more memory than they requested.
- sedatk 4mo ago> This is what Windows task manager reports Just to clarify, Windows Task Manager uses Private Working Set by default for process memory usage which does NOT include shared pages with other processes such as libraries or memory mapped files (hence the name “private”). It only shows the memory that maps to privately allocated physical memory per process. It’s probably closer to Resident Set on Unix. You probably meant the memory usage in performance tab but I wanted to clarify in case people mistake it for all memory usage fields.
- d3Xt3r 4mo ago> Resident size is the most reliable metric Actually, Proportional Set Size is more accurate than RSS. See: https://en.wikipedia.org/wiki/Proportional_set_size https://en.wikipedia.org/wiki/Proportional_set_size
- zepearl 4mo agoFor the ones that don't know "nmon", have a look at it as well! (press "h" to see the list of available monitors - press it again to make it go away, press "q" to quit) https://nmon.sourceforge.io/pmwiki.php https://nmon.sourceforge.io/pmwiki.php Especially disk throughput and I/O (keys "d" & "D") can be very useful.
- Zardoz84 4mo agovery useful tool. I install it on every machine where I have control. I appreciate the "Wide" CPU usage graph, that can handle huge core counts easily
- shellwizard 4mo agoI know it from some AIX machines that we have at job, also topas comes to mind
- deleted 4mo ago[deleted]
- cb321 4mo agoA different usage paradigm from *top that I have come to like better is to do differential ps-like reports and system-wide (like vmstat) reports which leaves everything in your terminal scrollback buffer as in: https://github.com/c-blake/procs https://github.com/c-blake/procs { written in the uncommonly efficient, expressive Nim programming language }.
- Maksadbek 4mo ago/* * kernel/sched/loadavg.c * * This file contains the magic bits required to compute the global loadavg * figure. Its a silly number but people think its important. We go through * great pains to make it work on big machines and tickless kernels. */ so is it just silly numbers or important ?
- leephillips 4mo agoSeems clear to me: it’s a silly number that people think is important. Like the Dow, H-index, GNP, ...