Tuesday, January 21, 2014

Systemtap

I had to measure what's going on in kernel for a specific VFS call both on Linux and on Solaris. On Solaris it was quick and easy - got an answer in couple of minutes, on Linux... Systemtap didn't like version of kernel-debuginfo installed (the error message wasn't that obvious either), had to uninstall it and install the proper one, as one can't have multiple versions installed which would be useful with multiple kernels installed...

While I like Systemtap in principle, in practice every time I use it I find it very frustrating, especially if I have to measure something similar on Solaris with DTrace which usually is so much easier and quicker to do.

Then, we do not use Systemtap on prod servers... in minutes I unintentionally crashed a Linux box by tracing with Systemtap :(

Now, Oracle Linux has DTrace... :)

4 comments:

Thomas Oulevey said...

Did you ever try http://www.ktap.org/, it's on my todo-list.

milek said...

Ahh, somoeho9w I actually missed it. I will definitely give it a try. Thanks.

Frank Ch. Eigler said...

"in minutes I unintentionally crashed a Linux box by tracing with Systemtap :("

Would you mind forwarding more information on this to the project mailing list? Also, what kinds of scripts were you running that necessitated kernel-debuginfo? Sometimes they can be tweaked to avoid that.

milek said...

Frank - yeah, I guess I should... but it's lack of time and I don't use SystemTap too often to care enough.

I was essentially trying to trace what kernel functions are being executed when a given syscall is called.