Home
Mortadelo – a viewer for system calls
This is Mortadelo, a viewer for system calls that are related to the
file system. You can think of it as a “systemwide strace”: Mortadelo
uses Systemtap to monitor all running processes. Mortadelo does not
monitor all the system calls that strace supports; just the ones to
which you pass a filename. This is generally enough to diagnose
simple problems (an program crashes because it can’t find a file), or
to get hints as to where performance problems may lie (who’s hammering
my hard drive?).
- Please read the HACKING file if you intend to hack on Mortadelo, and
read doc/architecture.txt for an overview of the code.
Mortadelo is released under the GNU General Public License. Please
see the file COPYING for details.
What’s in a name?
Mortadelo started life as a clone of Filemon, a proprietary Windows
utility to monitor system calls related to the file system
(http://www.microsoft.com/technet/sysinternals/FileAndDisk/Filemon.mspx).
You may want to read
http://en.wikipedia.org/wiki/Mortadelo_y_Filem%C3%B3n for background.
Requirements
A Linux kernel, version 2.6.16 or later. Mortadelo may also work on
slightly older versions.
Systemtap (http://sources.redhat.com/systemtap/) corresponding to your
kernel. Note that Systemtap requires a kernel with debug information,
so you may need to install “debuginfo” packages or however your
distribution decides to call them.
Mono (http://mono-project.com) and gtk-sharp. Mortadelo was developed
with Mono 1.2.2 and gtk-sharp 2.8.3.
Known issues
Be careful if you leave Mortadelo running for a long time, as it can
consume all of your machine’s memory when the log of system calls
grows too big. You may prefer to hit the Stop button and then analyze
the log leisurely after you have captured what you need, instead of
simply leaving it running.
If you kill Mortadelo, it’s not smart enough to kill the underlying
Systemtap process along with it. Systemtap will keep running, and the
next time you run Mortadelo you will get an error along the lines of
“insmod: could not load module”. In that case, kill the running
Systemtap process and start Mortadelo again.
Systemtap currently uses sudo to allow normal users to install probe
modules on the kernel. Fedora Core 6 comes with ‘requiretty’ option
set in /etc/sudoers so Systemtap will not run correctly under
Mortadelo (which doesn’t use a tty to run Systemtap). You must remove
the ‘requiretty’ option from /etc/sudoers to use Mortadelo.
Contact information
You can send feedback about Mortadelo to Federico Mena-Quintero
federico@novell.com.

