Linux/Unix performance monitoring

This is my first post (yes I'm a newbie).... :smiley:

I'm looking for a list of Linux and Unix commands for performance monitoring and a good sight or area on this site that would have man pages and or information on those commands.....

Thanks if anyone can take the time to post..... :cool:

Probably the most useful and widely available realtime performance monitoring tool (for the CLI, anyway) is the 'top' command. For remote/non shell-based monitoring I suggest looking into MRTG, which can do much much more than just monitor network traffic.

don't forget vmstat and sar:

$ vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 124 582056 6676 294924 0 0 3 4 9 14 0 0 99 0

$ sar 1 1
Linux 2.6.9-22.ELsmp (mybox.home.com) 01/12/2006

10:00:00 AM CPU %user %nice %system %iowait %idle
10:00:01 AM all 0.00 0.00 0.50 0.00 99.50
Average: all 0.00 0.00 0.50 0.00 99.50

do a man on both for addiitonal info,
manny

1 Like

Thanks....

I've been looking at both top and vmstat....

I'm also looking at 'linmon' but I'm not familiar with it at all....

Edit: Hmmmmm the doc I have says theres a man page on it but there isn't one on the system I'm on....

You can use vmstat, sar and top (linux only) for process monitoring.. or you could also write a script base on the commands mentioned above.

God Bless :slight_smile:

daemons_advoc8

how about Solaris equivalent of 'netstat -i 3' and 'iostat -xntcz 3' on Linux?
any idea?

See collectl for details, but when I wrote it my goal was to have one tool with consistent output so I wouldn't need multiple windows or files worth of data that I couldn't easily integrate. Collectl even allows you to load your data into excel or display it with gnuplot.
-mark

Hi :slight_smile:

I've just installed collectl, it seems to be very useful tool, by the way. But I'm afraid there is a problem when I try to dump the information into a file, collectl can not compress the information, and I think it should be able to, since I got Zlib installed. This is the warning displayed out:

Zlib not installed so not compressing file(s). Use -oz to get rid of this warning.

I do not how to solve this problem. Thanks.

try building an rpm from the src.rpm provided - collectl-2.4-2.src.rpm

this might shed some light on any missing dependencies you may have...

this is how I installed mine...looks promising.

thanks Mark :smiley:

iostat is available on linux through the sysstat package.

Thank mr_manny.

everything is working out now!

Here I am again.

Everything was looking good workin with collectl, until I tried to unzip the .tab.gz file generated, I ran collectl this way:

collectl -i 5:5 -P -s cCdDmnNZ -ou -f /tmp/collectl

All the .gz files were generated correctly except the .tab.gz, it size is 10 Bytes, and if I try to unzip it the next message is displayed:

gunzip: collectl-atm117-20080129-141624.tab.gz: unexpected end of file

I think it might be something to do with the way to stop collectl (I'm using the TERM signal), maybe something to do with the Zlib libraries (but then, why the rest of the files are correctly generated?).

I'm afraid I need help again

Unix Performance Montioring commands
-------------------------------------------------------------->
vmstat - report virtual memory statistics
iostat - report io statistics
mpstat - report processor statistics
netstat - report network statists
prstat - process statistics

1 Like

Hi again!

all my troubles seem to be solved.

I remove all the zib perl libraries I had installed, and then I downloaded and installed the next one:

perl-Compress-Zlib-1.41-1.2.el4.rf.x86_64.rpm
(I'm working on Red Hat, I guess it would be the same for the rest distr)

And that's all!. (I hope)

Uhalt - sorry for only just seeing your thread (I would have responded more quickly had you asked your questions on the soureforge forum). In any event can I assume you are all set now?

I also can't help but comment on an earlier reply that said:

>Unix Performance Montioring commands
>-------------------------------------------------------------->
>vmstat - report virtual memory statistics
>iostat - report io statistics
>mpstat - report processor statistics
>netstat - report network statists
>prstat - process statistics

That's the whole point behind collectl! You don't need all these tools, each with their own switches, formats, etc. Not to mention not being able to easily integrate all their outout into a concise view.

As an additional aside, I'm in the final stages of getting ready to release a new version of collectl that adds interrupts by CPU to the output! You'll be able to get summary data like this, which was taken while running some 10G network tests:

[root@cu0nfs1 mjs]# ./collectl.pl --intstat -oT
# <-----------------Int----------------->
#Time Cpu0 Cpu1 Cpu2 Cpu3 Cpu4 Cpu5 Cpu6 Cpu7
12:49:55 4828 16K 1000 16K 18 16K 16K 0
12:49:56 4804 16K 1000 16K 0 16K 16K 0
12:49:57 4811 16K 1000 16K 18 16K 16K 0

or even broken down by type of interrupt like this (sorry about the formatting):

[root@cu0nfs1 mjs]# ./collectl.pl --intstat -oT
12:48:50 082 0 0 0 7731 0 0 0 0 PCI-MSI-X eth2 (queue 0)
12:48:50 098 0 0 0 0 2037 0 0 0 PCI-MSI-X eth2 (queue 2)
12:48:50 122 0 0 2240 0 0 0 0 0 PCI-MSI-X eth2 (queue 5)
12:48:50 138 0 7084 0 0 0 0 0 0 PCI-MSI-X eth2 (queue 7)
12:48:50 154 0 0 0 0 0 7723 0 0 PCI-MSI-X eth3 (queue 0)
12:48:50 162 9082 0 0 0 0 0 0 0 PCI-MSI-X eth3 (queue 1)
12:48:50 178 0 0 0 0 0 0 8253 0 PCI-MSI-X eth3 (queue 3)
12:48:50 210 0 0 0 0 0 0 0 6417 PCI-MSI-X eth3 (queue 7)
12:48:50 218 1 0 0 0 0 0 0 0 PCI-MSI eth0

try doing that with the exiting linux tools. and then try to plot it all!

anyhow I do plan to release a new version the end of the week so be sure to check in at collectl

-mark