sar(1M) sar(1M)
NAME
sar: sa1, sa2, sadc - Paket zum Abrufen der Systemaktivität
SYNTAX
/usr/lib/sa/sadc [t n] [ofile]
/usr/lib/sa/sa1 [t n]
/usr/lib/sa/sa2 [options] [-s time] [-e time] [-i sec]
BESCHREIBUNG
Daten über die Systemaktivität können auf spezielle Anforderung eines
Benutzers abgefragt werden [siehe sar(1)], oder sie können, wie im
folgenden beschrieben, automatisch in festgelegten Schritten abgerufen
werden. Das Betriebssystem enthält mehrere Zähler, die erhöht werden,
wenn das System verschiedene Aktionen durchführt. Dazu gehören Zähler
für die CPU-Auslastung, die Pufferbelegung, die E/A-Aktivität von
Platten und Bändern, die Aktivität von TTY-Geräten, die Aktivität von
Umschaltungen und Systemaufrufen, Dateizugriffe, Warteschlangenaktivi-
tät, Interprozeß-Kommunikation, Seitenein- und -auslagerung (Paging)
und Remote File Sharing.
Diese Daten werden mit sadc und den zwei Shell-Prozeduren sa1 und sa2
abgefragt, gespeichert und ausgewertet.
sadc ist ein Datenerfassungsprogramm. Es fragt alle t Sekunden Daten
ab und führt dies nmal durch. Es schreibt die Daten in Binärformat in
die Datei ofile oder in die Standardausgabe. Das Intervall t sollte
größer als 5 Sekunden sein, da sonst die Aktivität von sadc selbst die
Daten beeinflussen kann. Werden t und n nicht angegeben, wird ein spe-
zieller Datensatz geschrieben. Dies wird beim Laden des Systems für
Mehrbenutzerbetrieb verwendet, um den Zeitpunkt zu markieren, an dem
die Zähler auf Null zurückgesetzt werden. Beispielsweise versieht die
Datei /etc/init.d/perf die Tagesdaten mit dieser Marke, und zwar durch
den folgenden Kommandoeintrag:
su sys -c "/usr/lib/sa/sadc /var/adm/sa/sa`date +%d`"
Das Shellskript sa1 ist eine Variante von sadc und wird zum Zusammen-
fassen und Speichern von Daten in der Binärdatei /var/adm/sa/sadd
benutzt. Hierbei gibt dd den aktuellen Tag an. Die Argumente t und n
geben an, daß entsprechende Datensätze jeweils in einem Intervall von
t Sekunden, und zwar nmal hintereinander geschrieben werden. Sind
diese Argumente nicht angegeben, werden die entsprechenden Daten nur
einmal geschrieben. Die folgenden Einträge in
/var/spool/cron/crontabs/sys erzeugen Datensätze, und zwar alle 20
Minuten während der normalen Arbeitszeit bzw. jede Stunde in der rest-
lichen Zeit:
0 * * * 0-6 /usr/lib/sa/sa1
20,40 8-17 * * 1-5 /usr/lib/sa/sa1
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
sar(1M) sar(1M)
Weitere Einzelheiten finden Sie unter crontab(1).
Das Shellskript sa2 ist eine Variante von sar und schreibt täglich
einen Bericht in die Datei /var/adm/sa/sardd. Die Optionen werden
unter sar(1) beschrieben. Der folgende Eintrag in
/var/spool/cron/crontabs/sys erstellt einen Bericht über wichtige
Aktivitäten, und zwar jede Stunde während der normalen Arbeitszeit:
5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A
Die binäre Datei mit den Tagesdaten weist folgende Struktur auf:
struct sa {
/* all per-cpu statistics */
struct sysinfo si[NCPU]; /* defined in /usr/include/sys/sysinfo.h */
struct minfo mi[NCPU]; /* defined in /usr/include/sys/sysinfo.h */
struct vminfo vmi[NCPU];
struct ufsstatistics ufs[NCPU]; /* new mips ufs-statistics */
rfsrvinfot rfsrv;
fsinfot rfsin;
fsinfot rfsout;
rfcinfot rfc;
struct kmeminfo km;
int minserve;
int maxserve;
int szinode; /* current size of inode table */
uint szfile; /* current size of file table */
uint szproc; /* current size of proc table */
int szlckf; /* current size of file record header table */
int szlckr; /* current size of file record lock table */
int mszinode; /* maximum size of inode table */
int mszfile; /* maximum size of file table */
int mszproc; /* maximum size of proc table */
int mszlckf; /* maximum size of file record header table */
int mszlckr; /* maximum size of file record lock table */
long inodeovf; /* cumulative overflows of inode table since boot */
long fileovf; /* cumulative overflows of file table since boot */
long procovf; /* cumulative overflows of proc table since boot */
timet ts; /* time stamp */
int apstate;
struct shlbinfo shlb; /* shared lib info */
struct rtminfo rt;
struct syswait swt;
struct devsar *devio; /* device unit information */
int deviosz; /* size of device unit information structure */
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
sar(1M) sar(1M)
#define IOOPS 0 /* number of I /O requests since boot */
#define IOBCNT 1 /* number of blocks transferred since boot */
#define IOACT 2 /* cumulative time in ticks when drive is active */
#define IORESP 3 /* cumulative I/O response time in ticks since boot */
};
DATEIEN
/var/adm/sa/sadd
Datei mit Tagesdaten
/var/adm/sa/sardd
Datei mit Tagesbericht
/tmp/sa.adrfl
Adreßdatei
SIEHE AUCH
crontab(1), sar(1), timex(1).
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98