06-18-2015
Need to get average idle time using mpstat
I want to get average idle time of the server using mpstat. The problem I am having is %idle is not in same columns in all the versions of linux.
example 1:
Quote:
[root@testserver ~]# mpstat 1 2
Linux 2.6.32-358.el6.x86_64 (testserver) 06/18/2015 _x86_64_ (2 CPU)
12:41:17 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
12:41:18 AM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
12:41:19 AM all 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 99.00
Average: all 0.25 0.00 0.25 0.00 0.00 0.00 0.00 0.00 99.50
example 2:
Quote:
[root@testserver1 ~]# mpstat 1 2
Linux 2.6.18-308.8.2.el5 testserver1 06/17/2015
10:47:38 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
10:47:39 PM all 0.12 0.00 0.00 0.00 0.00 0.00 0.00 99.88 191.09
10:47:40 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 134.00
Average: all 0.06 0.00 0.00 0.00 0.00 0.00 0.00 99.94 162.69
I tried below command as generalized solution but as Average as one less column output is not proper.
Quote:
mpstat 1 2 | egrep -v '^Linux|^$' | awk -v c="%idle" 'NR==1 {for (i=1; i<=NF; i++) if ($i==c) break}''{print $i}'
I am getting below output.
Quote:
[root@testserver ~]# mpstat 1 2 | egrep -v '^Linux|^$' | awk -v c="%idle" 'NR==1 {for (i=1; i<=NF; i++) if ($i==c) break}''{print $i}'
%idle
100.00
100.00
But the desired output is
Quote:
[root@testserver ~]# mpstat 1 2 | egrep -v '^Linux|^$' | awk -v c="%idle" 'NR==1 {for (i=1; i<=NF; i++) if ($i==c) break}''{print $i}'
%idle
100.00
100.00
100.00
Thanks
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi Guru's,
How do I find and set the login idle time setting in HP-UX 32?
Thanks in advance,
Mani (1 Reply)
Discussion started by: jvmani
1 Replies
2. Shell Programming and Scripting
Matez,
I have a list of process id's in a text file. I want to know how to find the idle time of a process which are more than 300secs and kill them accordingly.
Could you please help me to get these details. I want to write a shell script with this.
Thanks..Krish :) (36 Replies)
Discussion started by: Krrishv
36 Replies
3. Shell Programming and Scripting
Does anyone know how do you determine the user idle time of stdin in order to log the user out for being idle too long. I would like to write a c program to do this but I it is not clear upon how to determine idle time from keyboard input. (9 Replies)
Discussion started by: cpaquette
9 Replies
4. HP-UX
Since yesterday the vmstat command is displaying the cpu idle time at 100%At each time interval. It never changes. Not sure what it means other than it Quit calculating that stat. And I'm curious why. Using sar I can display a correctCpu idle percent, but vmstat does not. Any ideas why or... (2 Replies)
Discussion started by: tfrye
2 Replies
5. UNIX for Advanced & Expert Users
Hi All
I need to find the idle time of a user... but my OS seems to be not supporting finger
$ finger
-sh: finger: command not found
I need to find the idle time and perform some other operations... So is there any other way i can find the idle time of a user...
$ uname -a... (2 Replies)
Discussion started by: Whiteboard
2 Replies
6. HP-UX
HP-UX B.11.23 ia64
Hi everyone,
First of all I am new member to this forum. Thankyou all for this forum, it helped me many times.
Coming to my question,I am writing a C program to find the log info of the users who are currently logged in(precisely what who -u do).
I am able to get... (0 Replies)
Discussion started by: bhiku matre
0 Replies
7. UNIX for Advanced & Expert Users
I need to find the idle time on a machine in the manner: How long time ago somebody did the last action with mouse or keyboard? Unfortunately "w" doesn't do this. It produced the following output on a machine a user was actually working on with an application:
15# w
15:55:28 up 15 days, ... (1 Reply)
Discussion started by: elbrand
1 Replies
8. Red Hat
Hi All,
I am having a problem where my mouse (USB) is freezing after some idle time, and I am having to reboot everytime that happens.
I looked in the file /etc/X11/xorg.config to see if there is an entry for mouse and I could not find it. Instead I found the following entry:
Section... (8 Replies)
Discussion started by: jxh461
8 Replies
9. Shell Programming and Scripting
Hello..
I have many sleepy users on my Solaris box and need to kill them if they are idle for more than 45 minutes for example...I know who -u gives and the idle time but unable to make a awk line to get the condition perfect. Please help...:wall: (9 Replies)
Discussion started by: wimaxpole
9 Replies
10. UNIX for Advanced & Expert Users
With linux kernel 2.4.22-1.2199.nptlsmp (I know, it's very old) Sometimes Load average increases to big value (over 7) but my 4 vCPU are in
idle state (5% busy every cpu). My web procedure was gone down so I found out that process (with 4732 process id, see my following output)
was in... (4 Replies)
Discussion started by: zio_mangrovia
4 Replies
MPSTAT(1) Linux User's Manual MPSTAT(1)
NAME
mpstat - Report processors related statistics.
SYNOPSIS
mpstat [ -A ] [ -I { SUM | CPU | SCPU | ALL } ] [ -u ] [ -P { cpu [,...] | ON | ALL } ] [ -V ] [ interval [ count ] ]
DESCRIPTION
The mpstat command writes to standard output activities for each available processor, processor 0 being the first one. Global average
activities among all processors are also reported. The mpstat command can be used both on SMP and UP machines, but in the latter, only
global average activities will be printed. If no activity has been selected, then the default report is the CPU utilization report.
The interval parameter specifies the amount of time in seconds between each report. A value of 0 (or no parameters at all) indicates that
processors statistics are to be reported for the time since system startup (boot). The count parameter can be specified in conjunction
with the interval parameter if this one is not set to zero. The value of count determines the number of reports generated at interval sec-
onds apart. If the interval parameter is specified without the count parameter, the mpstat command generates reports continuously.
OPTIONS
-A This option is equivalent to specifying -I ALL -u -P ALL
-I { SUM | CPU | SCPU | ALL }
Report interrupts statistics.
With the SUM keyword, the mpstat command reports the total number of interrupts per processor. The following values are displayed:
CPU
Processor number. The keyword all indicates that statistics are calculated as averages among all processors.
intr/s
Show the total number of interrupts received per second by the CPU or CPUs.
With the CPU keyword, the number of each individual interrupt received per second by the CPU or CPUs is displayed.
With the SCPU keyword, the number of each individual software interrupt received per second by the CPU or CPUs is displayed. This
option works only with kernels 2.6.31 and later.
The ALL keyword is equivalent to specifying all the keywords above and therefore all the interrupts statistics are displayed.
-P { cpu [,...] | ON | ALL }
Indicate the processor number for which statistics are to be reported. cpu is the processor number. Note that processor 0 is the
first processor. The ON keyword indicates that statistics are to be reported for every online processor, whereas the ALL keyword
indicates that statistics are to be reported for all processors.
-u Report CPU utilization. The following values are displayed:
CPU
Processor number. The keyword all indicates that statistics are calculated as averages among all processors.
%usr
Show the percentage of CPU utilization that occurred while executing at the user level (application).
%nice
Show the percentage of CPU utilization that occurred while executing at the user level with nice priority.
%sys
Show the percentage of CPU utilization that occurred while executing at the system level (kernel). Note that this does not
include time spent servicing hardware and software interrupts.
%iowait
Show the percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request.
%irq
Show the percentage of time spent by the CPU or CPUs to service hardware interrupts.
%soft
Show the percentage of time spent by the CPU or CPUs to service software interrupts.
%steal
Show the percentage of time spent in involuntary wait by the virtual CPU or CPUs while the hypervisor was servicing another
virtual processor.
%guest
Show the percentage of time spent by the CPU or CPUs to run a virtual processor.
%idle
Show the percentage of time that the CPU or CPUs were idle and the system did not have an outstanding disk I/O request.
Note: On SMP machines a processor that does not have any activity at all is a disabled (offline) processor.
-V Print version number then exit.
ENVIRONMENT
The mpstat command takes into account the following environment variable:
S_TIME_FORMAT
If this variable exists and its value is ISO then the current locale will be ignored when printing the date in the report header.
The mpstat command will use the ISO 8601 format (YYYY-MM-DD) instead.
EXAMPLES
mpstat 2 5
Display five reports of global statistics among all processors at two second intervals.
mpstat -P ALL 2 5
Display five reports of statistics for all processors at two second intervals.
BUGS
/proc filesystem must be mounted for the mpstat command to work.
Only a few activities are given by the Linux kernel for each processor.
FILES
/proc contains various files with system statistics.
AUTHOR
Sebastien Godard (sysstat <at> orange.fr)
SEE ALSO
sar(1), pidstat(1), iostat(1), vmstat(8)
http://pagesperso-orange.fr/sebastien.godard/
Linux AUGUST 2011 MPSTAT(1)