top | item 27058914

ProcMon for Linux (Preview)

182 points| vmarsy | 4 years ago |github.com

43 comments

order

alpb|4 years ago

Something that is really cool about Sysinternals tools are that they have a pretty usable GUI (granted, once you need to understand what does each UI icon do). Mimicking this experience in the TUI/terminal would certainly be a challenge. I would love to have a Procmon and ProcessExplorer equivalent with the GUI on Linux and macOS.

a-dub|4 years ago

i always thought of the sysinternals tools as like the missing tools that just ship with unix systems.

without them, there was no real visibility into open file descriptors, network ports, command lines for running processes, thread trees for processes or any of the rest.

the gui was always just the windows way of presenting it. bringing a gui when the rich tools already exist on linux seems ... redundant?

(seeing this brings back nightmares from windows admins who refused to install sysinternals tools on production machines)

saagarjha|4 years ago

It's not quite inspired by the Sysinternals tools, but I'm working on something like this for macOS. An early beta should be released soon™ (read: when I stop procrastinating on polishing some of the last important bits I want to finish before then).

jxf|4 years ago

I'm not familiar with the Windows version of ProcMon, but judging by the Linux version, that looks like it's primarily replicating the function of `strace` in a CLI GUI.

Worth reading Joe Damato's excellent article on strace: https://blog.packagecloud.io/eng/2016/02/29/how-does-strace-...

atomicnumber3|4 years ago

It's not quite strace, ProcMon also does network traffic stuff too. I used it quite a bit when my job was trying to shove proprietary (usually academic, usually engineering-related) software installers into a shape that we could make silently install. ProcMon was one of our first resorts whenever an installer would inevitably mysteriously crash when it ran inside an SCCM-managed installation of windows. Which. Was. OFTEN.

Sorry, it's been over a decade now and I still have nightmares sometimes. But yeah procmon is cool.

bboreham|4 years ago

Original ProcMon used ETW, Event Tracing for Windows; the analogous technology (although very different in style) on Linux is eBPF so that’s what this tool uses.

stefan_|4 years ago

This seems to be using eBPF, so presumably your kernel will have to support that (only stating Ubuntu 18.04 is a bit unfortunate).

unixhero|4 years ago

18 is already 3-4 years ago :)

whalesalad|4 years ago

Sorta related: If y’all haven’t used netdata - wow - it blew my socks off last night. I have it installed on all my hosts now and it’s already helping me diagnose a redis bgsave issue that I didn’t realize existed. Really well put together software.

odyslam|4 years ago

Hey,

I am odysseas, DevRel at Netdata. I would love to hear your story and what Netdata helped you diagnose in your systems.

Hit me up (odyslam) in our forums: https://community.netdata.cloud

PanosJee|4 years ago

Why do you think most people don't know about netdata and stick with the "status quo" of gathering data -> timeseries db -> manually creating dashboards & configure alerts?

agucova|4 years ago

What are the differences between this and htop, by example?

I know htop can strace processes with the "s" key.

snickerer|4 years ago

This was my first thought, too.

Which useful feature does this tool have what htop does not have?

Let's say there is such a feature. Why did they not implement it in htop? Made a patch and offered it to upstream? This is why we have FOSS. To benefit from each other's work.

gtirloni|4 years ago

Because Ubuntu 18.04 is used for the development environment, it relies on pretty old dependencies.

Bug report: https://github.com/Sysinternals/ProcMon-for-Linux/issues/44

JeremyNT|4 years ago

Yeah, if you have a modern distribution, look elsewhere. For a "preview" release it's interesting that they're only targeting older distros - maybe they're focused on enterprise use.

mnutt|4 years ago

While I see a lot of comparisons to htop, I wonder how this compares to sysdig? I’ve found sysdig to be an invaluable swiss army knife of debugging performance issues; the only difficult part is finding the right documentation among the cloud offering of the same name.

boomskats|4 years ago

I've been looking at a few eBPF tracing implementations around GitHub recently to try and get my head round it, and this codebase has to be one of the best documented (if not best written) examples out there. Kudos.

Grayskull|4 years ago

Even though I don't use procmon on windows basically never. Sysinternals on linux could be useful especially with same gui as on windows. It would be great to see autoruns and tcpview on linux.

unixhero|4 years ago

Licensed under MIT.

This looks like an amazing tool, can't wait to begin using it.

sloshnmosh|4 years ago

I remember the first time I discovered Sysinternals tools for Windows. It was a game-changer for me. Especially Autoruns and Process Explorer

rishabhd|4 years ago

This will come in handy during DFIR, although we have different workflows for doing live analysis on machines for now.

throwaway823882|4 years ago

I never thought I'd say this, but: Thank you, Microsoft, for making useful, user-friendly software.

aasasd|4 years ago

Sysinternals is under Microsoft since 2006. Is this the ‘extend’ stage?

superkuh|4 years ago

Why are libllvm6.0 llvm-6.0-dev and libclang-6.0-dev needed for this?

nemetroid|4 years ago

Seemingly because they download and build bcc as part of the build process. As to why they do that... probably because the three year old distro they're targeting has a three year old version of bcc.

mraza007|4 years ago

Just out of curiosity, How is this tool different when compared to htop