Wie kann ich die Ausgabe pidstat
zur späteren Analyse in eine Datei schreiben?
In sar
können Sie die Nutzung überwachen und in eine Datei schreiben, um sie später mit dem -o
Argument zu analysieren. Aus der Manpage:
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).
Ich muss die Ressourcennutzung eines bestimmten Prozesses anhand seines Namens überwachen. Das entsprechende Tool hierfür ist pidstat
. Leider pidstat
hat es kein -o
Argument
[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 ~]#
Wie kann ich pidstat
die Ausgabe in eine Datei im SADC-Format veranlassen, damit sie später mit Tools wie kSAR analysiert werden kann?
Antwort1
Sie können die Ausgabe wie folgt per Pipe an eine Datei anhängen:
pidstat 3 -G nginx >> out.log