Problem with nmon, actual CPU usage per process | Unix Linux Forums | AIX

  Go Back    


AIX AIX is IBM's industry-leading UNIX operating system that meets the demands of applications that businesses rely upon in today's marketplace.

Problem with nmon, actual CPU usage per process

AIX


Tags
aix, unix

Closed Thread    
 
Thread Tools Search this Thread Display Modes
    #1  
Old 03-08-2013
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
code tag tagger
 
Join Date: Sep 2007
Last Activity: 19 September 2014, 7:22 AM EDT
Location: St. Gallen, Switzerland
Posts: 6,228
Thanks: 121
Thanked 451 Times in 411 Posts
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!
Sponsored Links
    #2  
Old 03-08-2013
DGPickett DGPickett is offline Forum Advisor  
Registered User
 
Join Date: Oct 2010
Last Activity: 16 September 2014, 1:48 PM EDT
Location: Southern NJ, USA (Nord)
Posts: 4,412
Thanks: 8
Thanked 540 Times in 518 Posts
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
Sponsored Links
    #3  
Old 03-09-2013
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
code tag tagger
 
Join Date: Sep 2007
Last Activity: 19 September 2014, 7:22 AM EDT
Location: St. Gallen, Switzerland
Posts: 6,228
Thanks: 121
Thanked 451 Times in 411 Posts
I was only looking for the IBM pages. There are several examples that use switches I used.
    #4  
Old 03-11-2013
DGPickett DGPickett is offline Forum Advisor  
Registered User
 
Join Date: Oct 2010
Last Activity: 16 September 2014, 1:48 PM EDT
Location: Southern NJ, USA (Nord)
Posts: 4,412
Thanks: 8
Thanked 540 Times in 518 Posts
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.
Sponsored Links
    #5  
Old 03-11-2013
-=XrAy=- -=XrAy=- is offline
Registered User
 
Join Date: Oct 2012
Last Activity: 18 September 2014, 9:56 AM EDT
Location: D:\Rheinland-Pfalz\Koblenz
Posts: 92
Thanks: 4
Thanked 19 Times in 17 Posts
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

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....

Sponsored Links
    #6  
Old 03-12-2013
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
code tag tagger
 
Join Date: Sep 2007
Last Activity: 19 September 2014, 7:22 AM EDT
Location: St. Gallen, Switzerland
Posts: 6,228
Thanks: 121
Thanked 451 Times in 411 Posts
@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 06:25 AM..
Sponsored Links
    #7  
Old 03-12-2013
-=XrAy=- -=XrAy=- is offline
Registered User
 
Join Date: Oct 2012
Last Activity: 18 September 2014, 9:56 AM EDT
Location: D:\Rheinland-Pfalz\Koblenz
Posts: 92
Thanks: 4
Thanked 19 Times in 17 Posts
hmm,

I run the "tprof" with my personal userid and saw in the output all processes currently running.
The Following User Says Thank You to -=XrAy=- For This Useful Post:
zaxxon (03-13-2013)
Sponsored Links
Closed Thread

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
CPU Usage of a process matt9949 Shell Programming and Scripting 0 07-15-2011 05:58 AM
CPU Usage for a particular process jitendriya.dash Shell Programming and Scripting 1 06-01-2009 12:00 PM
process cpu usage cwsmichigan UNIX for Dummies Questions & Answers 9 11-27-2008 02:49 AM
CPU usage of a process robot23 AIX 5 09-27-2006 11:36 AM
Process CPU usage in Solaris 10 arun.viswanath Solaris 1 11-09-2005 10:56 AM



All times are GMT -4. The time now is 07:58 AM.