Problem with nmon, actual CPU usage per process


 
Thread Tools Search this Thread
Operating Systems AIX Problem with nmon, actual CPU usage per process
# 1  
Old 03-08-2013
Problem with nmon, actual CPU usage per process

Hi all,

I am currently having trouble to get nmon to print me the actual CPU usage for an interval for a process.
According to the manual, something like
Code:
# time nmon -t -C cron -s 5 -c 2 -F outfile

real    0m0.98s
user    0m0.03s
sys     0m0.04s

should print out at least the process information about cron for an interval of 2 x 5 seconds.
I tried it without specifying which process (without -C) and other parameters, but no chance. I get the very general information about everyhting else in the output, but nothing about any processes.
Also what I do not understand is, why it always runs through in much less time than I specified with -s and -c.

I am currently on AIX 6100-06-05-1115, and I am not root. Though when I call nmon to be in it's online mode and press "t", I get the top view as non-root user.

Any help is welcome. Alternatives to get the current CPU usage for a process over a specified interval is welcome.
I also tried to get the information with pprof but it seems it's showing like ps some values (ACCT_TIME) which are not working for me at all, as this seems to be the usage over time since the process was started, which is not what I am looking for. I also checked tprof, but as it looks it only works for processes that are started with it, not for processes which are already running.

In the IBM DeveloperWorks Wiki I found Nigel Griffiths' entry for a C-program to get the process information (http://www.ibm.com/developerworks/wi.../wikiptype/ryo)
He states that you have to take at least 2 measures and calculate the difference (I guess you have to bring this into relation with other processes etc. too, since the values I got did not tell me much).
I am looking for an easier way if any.


Thanks in forward!
# 2  
Old 03-08-2013
AIX nmon is not open source nmon -- where did you get examples?
See bottom of page first url: nmon for Linux | Main / HomePage

developerWorks: Wikis - Systems - nmon

developerWorks: Wikis - Systems - nmon Manual
# 3  
Old 03-09-2013
I was only looking for the IBM pages. There are several examples that use switches I used.
# 4  
Old 03-11-2013
Well, for starters, 'time' is just a distraction, timing nmon and producing that printout.

After that:
  1. the -t is for top processes,
  2. -C is CPU utilization for many CPUs where graph does not fit,
  3. cron seems like an orphan value.
  4. -s is not a listed option,
  5. -c does not take a value and
  6. -F is not a listed option.
# 5  
Old 03-11-2013
Hi zaxxon,

NMON does not seem to work properly with the process option "-C" and recording mode "-f". It only shows the TOP processes.

If you specify a recording option "-f", the nmon process goes to background (init) and your command "time nmon -t -C cron -s 5 -c 2 -F outfile" returns immediately Smilie

The tprof command should work:

Code:
tprof -x sleep 15
grep "cron" sleep.prof

Code:
/usr/sbin/cron                            3   0.29   0.29   0.00   0.00   0.00
/usr/sbin/cron        7209028 12386355   0.12   0.12   0.00   0.00   0.00
/usr/sbin/cron        5111970 12845245   0.12   0.12   0.00   0.00   0.00
/usr/sbin/cron       12714162 17825889   0.06   0.06   0.00   0.00   0.00

Code:
Configuration information
=========================
System: AIX 7.1 Node: sradvu002 Machine: 00F6C66C4C00
Tprof command was:
    tprof -x sleep 15
Trace command was:
    /usr/bin/trace -ad -M -L 1073741312 -T 500000 -j 00A,001,002,003,38F,005,006,134,210,139,5A2,5A5,465,234,5D8, -o -
Total Samples = 1704
Traced Time = 15.01s (out of a total execution time of 15.01s)
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Process                                Freq  Total Kernel   User Shared  Other
=======                                ====  ===== ======   ==== ======  =====
wait                                     16  98.00  98.00   0.00   0.00   0.00
/usr/bin/perl                             3   0.76   0.23   0.00   0.53   0.00
/usr/sbin/cron                            3   0.29   0.29   0.00   0.00   0.00
/usr/sbin/syncd                           1   0.18   0.18   0.00   0.00   0.00
/usr/bin/ksh                              1   0.12   0.12   0.00   0.00   0.00
/usr/bin/sh                               2   0.12   0.06   0.06   0.00   0.00
/usr/bin/grep                             2   0.12   0.12   0.00   0.00   0.00
/usr/bin/sleep                            1   0.06   0.06   0.00   0.00   0.00
/usr/bin/tprof                            1   0.06   0.06   0.00   0.00   0.00
/usr/bin/hostname                         1   0.06   0.06   0.00   0.00   0.00
/usr/bin/trcstop                          1   0.06   0.00   0.00   0.06   0.00
/usr/bin/basename                         1   0.06   0.06   0.00   0.00   0.00
/usr/bin/printf                           1   0.06   0.06   0.00   0.00   0.00
/usr/bin/cut                              1   0.06   0.06   0.00   0.00   0.00
=======                                ====  ===== ======   ==== ======  =====
Total                                    35 100.00  99.35   0.06   0.59   0.00

.....SNIP....

# 6  
Old 03-12-2013
@DGPickett

Thanks, but the options I used are valid switches I get displayed when I issue an nmon -h or if I check the man page, as well in the documentation in the IBM Wiki.

@-=Xray=-
Thanks, but tprof is for monitoring a program that you start, like sleep. I have processes that are running already and I have to check them for let's say an interval of 10 seconds and have to get their actual CPU usage for exactly this interval.
I don't want it since the process is alive (that would be regular ps) nor do I have the option to start a program.
For the explanation of -f together with -c and -s for nmon it seems to be a pity that this option is valid as it looks to me, that the output file is being written and does not get any addition 5 or 10 seconds later.
But I got your point and I think I have tried that already. I will have another look into it, but iirc, the values I got back were not that what I was looking for.


The background of all this is that I am about to write a plugin for Nagios which shall just capture the the actual CPU usage of the specified interval for a process.
Those plugins I have found do usually issue a ps and work with values that are the average since the process came to life.
When this is several days and you currently have a workload peak, you get for example just 12% CPU usage back while it is actually 77%.
So this approach is in my eyes "useless".

Maybe I explained it better now. If you have any other ideas, let me know. Thanks a lot so far for your efforts both.

Last edited by zaxxon; 03-12-2013 at 07:25 AM..
# 7  
Old 03-12-2013
hmm,

I run the "tprof" with my personal userid and saw in the output all processes currently running.
This User Gave Thanks to -=XrAy=- For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How can I check actual memory usage each Process?

I can't check actual memory usage in the Redhat 5.5... The used memory is 14214 Mb of Total 15919 by Free -m command. I sum the RSS value on PS aux command result and the value is 5428.66Mb. Yes It's quite different actual usage memory and RSS value. So I added Shared memory value... (5 Replies)
Discussion started by: tom8254
5 Replies

2. Shell Programming and Scripting

Tricky situation with process cpu usage - AIX

OS: AIX so we frequently receive a lot of cpu related alerts. all types of checks have been created to keep an eye on the cpu but a lot of these checks make too much noise as the CPU is always being seen as high. the system and application owners say there's no issue with the cpu. so now,... (6 Replies)
Discussion started by: SkySmart
6 Replies

3. UNIX for Dummies Questions & Answers

Average CPU and RAM usage for a process

Hi, I will be creating a process myself and I want to know the average CPU and RAM used by the process over the lifetime of the process. I see that there are various tools available(pidstat) for doing , I was wondering if it possible to do it in a single command while creation. Thanks in... (3 Replies)
Discussion started by: koustubh
3 Replies

4. Shell Programming and Scripting

CPU Usage of a process

Hi guys, I am currently writing a JAVA script to monitor certain unix processes through JConsole. Upon having lots of trouble with runtime.exec, i decided to bypass the top/ps command call and just get the information straight from /proc/*pid*/whatever. Now i can pull back any... (0 Replies)
Discussion started by: matt9949
0 Replies

5. AIX

How to trace cpu/memory usage for a process

I don't know when the process will start and end, I need write a script to trace it's cpu/memory usage when it is runing. How to write this script? (2 Replies)
Discussion started by: rainbow_bean
2 Replies

6. Shell Programming and Scripting

CPU Usage for a particular process

Hi, I have a shell script. But, upon execution of the same, the cpu usage is sometimes getting 100 % (checked executing top command). At that point of time, my process hangs, doesn't run anymore. I need to kill it manually. My concern is, is there any default method, by which I can check... (1 Reply)
Discussion started by: jitendriya.dash
1 Replies

7. UNIX for Dummies Questions & Answers

process cpu usage

Trying to come up with a command that will show all processes sorted from highest cpu usage to lowest. Any ideas? (9 Replies)
Discussion started by: cwsmichigan
9 Replies

8. UNIX for Advanced & Expert Users

Finding CPU usage by a Unix Process

Hi, I am designing a load balancer for an application. I am trying to find out the CPU usage by a specifc Unix process (PID is known). I guess I can use ps command to find that. can somebody help me in finding what exact command I should use to find? It is on AIX 5.3. Regards Asutosh (2 Replies)
Discussion started by: asutoshch
2 Replies

9. AIX

CPU usage of a process

I'm trying to monitor the CPU usage of a process and output that value to a file or variable. I know topas or nmon can tell me this in interactive mode but what I need is topas-looking output that allows me to write to a file after a discrete interval. Unlike nmon data collection to a file on top... (5 Replies)
Discussion started by: robot23
5 Replies

10. Solaris

Process CPU usage in Solaris 10

Hi All, Please let me know the command (expect top) to view the cpu usage of every process in Solaris 10. Thanks in Advance, Arun (1 Reply)
Discussion started by: arun.viswanath
1 Replies
Login or Register to Ask a Question