11-18-2008
You will probably need a collection of tools to achieve this:
Use the "truss" command, which will tell you which files are being accessed by a process.
You might want to use some of the statistics provided by "filemon" too, read the manpage of "filemon" and its related tools (trcrpt, trcstop, ... ) and prepare to spend some time doing that, it is a complex tool.
You might want to include "iostat" into your arsenal for a closer look at the devices once you have found out on which disks the process of interest is reading/writing from/to.
Not to mention general(ized) tools to monitot I/O activity: "svmon", "vmstat -v", etc.
I hope this helps.
bakunin
6 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hello,
With AIX 5.3 is it possible to run a mksysb with users logged into the system?
The users are accessing a database app that runs on a separate physical disk than the system files. Does this even matter?
Thanks (1 Reply)
Discussion started by: samsa1mi
1 Replies
2. Shell Programming and Scripting
I need to monitor system activity (RAM, CPU usage, execution time)
while running some tests on solaris, linux and aix and save the output.
Please advise whether there's a utility available for these systems?
How can time the execution of the command?
Thanks! (2 Replies)
Discussion started by: smovla
2 Replies
3. UNIX for Dummies Questions & Answers
When I choose to encrypt my drive during a Linux install, it encryps it, but I receive errors in dmesg and in ~/.xsessions-errors during use. The first error is in dmesg where it sometimes shows errors writing to the encypted device. The second error is in ~/.xsessions-errors with an error about... (0 Replies)
Discussion started by: justgoogleit
0 Replies
4. Red Hat
Hi all,
i need to collect all system activities data(processes running, disk details, memory, etc), system logs and things related.
i heard of cfg2html but its not available for my CentOS distro(i may need to install separately but thats not what i wana do).
i can use sar for syatem... (1 Reply)
Discussion started by: ajayyadavmca
1 Replies
5. Infrastructure Monitoring
Hi team ,
I am working on monitoring the solaris machine utilization continously with shell script without using any thirdparty software. I stuck at below commands which are limited to 1000000000 seconds.
CPU Utilization
sar -u 1 1000000000
Disk Utilization
sar -d 1 1000000000
Memory... (4 Replies)
Discussion started by: tarun_nix
4 Replies
6. Red Hat
I have 2 RHEL 5.9 system where customized applications are running.
These 2 servers are with in a network (LAN) with each other.One application in say Server 1 can talk to another application in server 2 and vice versa.
The applications are exchanging data among each other.
Recently I am... (0 Replies)
Discussion started by: Anjan Ganguly
0 Replies
LEARN ABOUT NETBSD
filemon
FILEMON(4) BSD Kernel Interfaces Manual FILEMON(4)
NAME
filemon -- track interesting system calls
SYNOPSIS
#include <filemon.h>
DESCRIPTION
filemon provides a means for tracking the successful system calls performed by a process. It is used by make(1) to track the activities of
build scripts, for the purpose of automatically learning dependencies.
The data captured by filemon for the script
n=`wc -l /etc/motd`; echo "int motd_lines = $n;" > foo.h.new
cmp -s foo.h foo.h.new 2> /dev/null || mv foo.h.new foo.h
looks like:
# filemon version 4
# Target pid 24291
V 4
E 29676 /bin/sh
R 29676 /etc/ld.so.conf
R 29676 /lib/libedit.so.2
R 29676 /lib/libtermcap.so.0
R 29676 /lib/libc.so.12
F 29676 4899
E 4899 /usr/bin/wc
R 4899 /etc/ld.so.conf
R 4899 /usr/lib/libc.so.12
R 4899 /etc/motd
X 4899 0
W 29676 foo.h.new
X 29676 0
# Bye bye
E 3250 /bin/sh
R 3250 /etc/ld.so.conf
R 3250 /lib/libedit.so.2
R 3250 /lib/libtermcap.so.0
R 3250 /lib/libc.so.12
W 26673 /dev/null
E 26673 /usr/bin/cmp
R 26673 /etc/ld.so.conf
R 26673 /usr/lib/libc.so.12
X 26673 2
E 576 /bin/mv
R 576 /etc/ld.so.conf
R 576 /lib/libc.so.12
M 576 'foo.h.new' 'foo.h'
X 576 0
X 3250 0
# Bye bye
Most records follow the format:
type pid data
where type is one of the list below, and unless otherwise specified, data is a pathname.
C chdir(2).
D unlink(2).
E exec(3).
F fork(2), vfork(2); data is the process id of the child.
L link(2), symlink(2); data is two pathnames.
M rename(2); data is two pathnames.
R open(2) for read or read-write.
W open(2) for writing or read-write.
X exit(3); data is the exit status.
V indicates the version of filemon.
FILES
/dev/filemon
EXAMPLES
The following example demonstrates the basic usage of filemon:
#include <filemon.h>
pid_d pid;
int fd, tfd;
int status;
filemon_fd = open("/dev/filemon", O_RDWR);
temp_fd = mkstemp("/tmp/filemon.XXXXXXX");
/* give filemon the temp file to use */
ioctl(filemon_fd, FILEMON_SET_FD, &temp_fd);
/* children do not need these once they exec */
fcntl(filemon_fd, F_SETFD, 1);
fcntl(temp_fd, F_SETFD, 1);
pid = fork();
switch(pid) {
case -1:
err(1, "cannot fork");
break;
case 0:
pid = getpid();
/* tell filemon to monitor this process */
ioctl(filemon_fd, FILEMON_SET_PID, &pid);
execvp(...);
_exit(1);
break;
default:
status = wait();
close(filemon_fd);
lseek(temp_fd, SEEK_SET, 0);
/* read the captured syscalls from temp_fd */
close(temp_fd);
break;
}
The output of filemon is intended to be simple to parse. It is possible to achieve almost equivalent results with dtrace(1) though on many
systems this requires elevated privileges. Also, ktrace(1) can capture similar data, but records failed system calls as well as successful,
and is thus more complex to post-process.
HISTORY
filemon was contributed by Juniper Networks.
BSD
September 29, 2011 BSD