Как записать вывод pidstat
в файл для последующего анализа?
В sar
, вы можете отслеживать использование и запись в файл для последующего анализа с помощью аргумента -o
. Из страницы руководства:
If multiple samples and multiple reports are desired, it is convenient to specify an output file for the sar command. Run the sar command as a
background process. The syntax for this is:
sar -o datafile interval count >/dev/null 2>&1 &
All data are captured in binary form and saved to a file (datafile). The data can then be selectively displayed with the sar command using the
-f option. Set the interval and count parameters to select count records at interval second intervals. If the count parameter is not set, all
the records saved in the file will be selected. Collection of data in this manner is useful to characterize system usage over a period of time
and determine peak usage hours.
...
-o [ filename ]
Save the readings in the file in binary form. Each reading is in a separate record. The default value of the filename parameter is the
current daily data file, the /var/log/sa/sadd file. The -o option is exclusive of the -f option. All the data available from the kernel
are saved in the file (in fact, sar calls its data collector sadc with the option "-S ALL". See sadc(8) manual page).
Мне нужно отслеживать использование ресурсов определенного процесса по имени. Эквивалентный инструмент для этого — pidstat
. К сожалению, pidstat
не имеет -o
аргумента
[root@host ~]# pidstat -o pidstat.sadc -C "nginx" 1
Usage: pidstat [ options ] [ <interval> [ <count> ] ]
Options are:
[ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -s ] [ -t ] [ -U [ <username> ] ] [ -u ]
[ -V ] [ -w ] [ -C <command> ] [ -p { <pid> [,...] | SELF | ALL } ]
[ -T { TASK | CHILD | ALL } ]
[root@host ~]#
Как мне настроить pidstat
вывод в файл в формате sadc, чтобы его можно было проанализировать позже с помощью таких инструментов, как kSAR?
решение1
вы можете добавить его вывод в файл следующим образом:
pidstat 3 -G nginx >> out.log