linux poison RSS
linux poison Email

How to Monitor Process on Linux using pidstat

The pidstat command is used for monitoring individual tasks currently being managed by the Linux kernel. It writes to standard output activities for every task selected with option -p or for every task managed by the Linux kernel if option -p ALL has been used. Not selecting any tasks is equivalent to specifying -p ALL but only active tasks (tasks with non-zero statistics values) will appear in the report.
The pidstat command can also be used for monitoring the child processes of selected tasks. Read about option -T below.

The interval parameter specifies the amount of time in seconds between each report. A value of 0 (or no parameters at all) indicates that tasks 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 seconds apart. If the interval parameter is specified without the count parameter, the pidstat command generates reports continuously.


# pidstat -p 2842 2
Linux 2.6.31.5-0.1-desktop (poison)     03/01/10        _i686_  (2 CPU)

12:21:50          PID    %usr %system  %guest    %CPU   CPU  Command
12:21:52         2842    0.00    0.50      0.00        0.50       1        chrome
12:21:54         2842    0.50    0.00      0.00        0.50       0        chrome
12:21:56         2842    0.00    0.00      0.00        0.00       0        chrome
12:21:58         2842    0.50    0.50      0.00        1.00       0        chrome

If you are looking to see how much I/O a specific process is responsible for, you can run pidstat with the “-d” option:

# pidstat -d -p 2842 2
Linux 2.6.31.5-0.1-desktop (poison)     03/01/10        _i686_  (2 CPU)

12:22:38          PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
12:22:38         2842     58.00      0.00      0.00  chrome
12:22:40         2842    672.00     22.00      0.00  chrome
12:22:42         2842      0.00      0.00      0.00  chrome
12:22:44         2842      2.00     22.00      0.00  chrome
12:22:46         2842     12.00    122.00      8.00  chrome

And finally, to view paging activity per process, you can run pidstat with the “-r” option (and optionally the “-t” flag if you want to see thread activity):

# pidstat -r -t -p 2842 2
Linux 2.6.31.5-0.1-desktop (poison)     03/01/10        _i686_  (2 CPU)

12:24:03         TGID       TID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
12:24:05         2842         -      0.00      0.00  311916  60376   6.32      chrome
12:24:05            -      2842      0.00      0.00  311916  60376   6.32      |__chrome
12:24:05            -      2850      0.00      0.00  311916  60376   6.32      |__chrome
12:24:05            -      2851      0.00      0.00  311916  60376   6.32      |__chrome
12:24:05            -      2855      0.00      0.00  311916  60376   6.32      |__chrome
12:24:05            -      2856      0.00      0.00  311916  60376   6.32      |__chrome
12:24:05            -      2857      0.00      0.00  311916  60376   6.32      |__chrome



29 comments:

Post a Comment

Related Posts with Thumbnails