acct(5) | File Formats Manual | acct(5) |
acct - Fichier de comptabilité des processus
#include <sys/acct.h>
Si le noyau a été compilé avec l'option de comptabilité des processus activée (CONFIG_BSD_PROCESS_ACCT), l'appel système acct(2) démarre la comptabilité. Par exemple :
acct("/var/log/pacct");
Quand la comptabilité des processus est activée, le noyau écrit dans le fichier indiqué un enregistrement à chaque mort d'un processus. Cet enregistrement contient des informations concernant le processus terminé, décrites dans <sys/acct.h> ainsi :
#define ACCT_COMM 16 typedef u_int16_t comp_t; struct acct {
char ac_flag; /* Attribut de comptabilité */
u_int16_t ac_uid; /* UID comptabilisé */
u_int16_t ac_gid; /* GID comptabilisé */
u_int16_t ac_tty; /* Terminal de contrôle */
u_int32_t ac_btime; /* Heure de création du processus */
(secondes depuis 01/01/1970) */
comp_t ac_utime; /* Temps CPU en mode utilisateur */
comp_t ac_stime; /* Temps CPU en mode noyau */
comp_t ac_etime; /* Temps écoulé */
comp_t ac_mem; /* Moyenne utilisation de la mémoire (ko) */
comp_t ac_io; /* Caractères transmis (inutilisé) */
comp_t ac_rw; /* Blocs lus ou écrits (inutilisé) */
comp_t ac_minflt; /* Nb fautes de pages mineures */
comp_t ac_majflt; /* Nb fautes de pages majeures */
comp_t ac_swaps; /* Nb de swaps (inutilisé) */
u_int32_t ac_exitcode; /* Code de retour - voir wait(2) */
char ac_comm[ACCT_COMM+1];
/* Nom de la commande (nom de base
de la dernière commande exécutée
terminé par NULL) */
char ac_pad[X]; /* Remplissage */ }; enum { /* Bits qui peuvent se trouver dans ac_flag */
AFORK = 0x01, /* A exécuté fork mais pas exec */
ASU = 0x02, /* A utilisé les privilèges superutilisateur */
ACORE = 0x08, /* A créé un fichier core */
AXSIG = 0x10 /* Tué par un signal */ };
Le type de donnée comp_t est un nombre en virgule flottante constitué d'un exposant en base 8 sur 3 bits et d'une mantisse sur 13 bits. Une valeur, c, de ce type peut être convertie en entier (long) ainsi :
v = (c & 0x1fff) << (((c >> 13) & 0x7) * 3);
Les champs ac_utime, ac_stime et ac_etime mesurent les temps en « tops d'horloge ». Divisez ces valeurs par sysconf(_SC_CLK_TCK) pour obtenir des secondes.
Since Linux 2.6.8, an optional alternative version of the accounting file can be produced if the CONFIG_BSD_PROCESS_ACCT_V3 option is set when building the kernel. With this option is set, the records written to the accounting file contain additional fields, and the width of c_uid and ac_gid fields is widened from 16 to 32 bits (in line with the increased size of UID and GIDs in Linux 2.4 and later). The records are defined as follows:
struct acct_v3 {
char ac_flag; /* Attribut de comptabilité */
char ac_version; /* Vaut toujours ACCT_VERSION (3) */
u_int16_t ac_tty; /* Terminal de contrôle */
u_int32_t ac_exitcode; /* Code de retour */
u_int32_t ac_uid; /* UID réel */
u_int32_t ac_gid; /* GID réel */
u_int32_t ac_pid; /* PID */
u_int32_t ac_ppid; /* PPID (PID du parent) */
u_int32_t ac_btime; /* Heure de création du processus */
(secondes depuis 01/01/1970) */
float ac_etime; /* Temps écoulé */
comp_t ac_utime; /* Temps CPU en mode utilisateur */
comp_t ac_stime; /* Temps CPU en mode noyau */
comp_t ac_mem; /* Moyenne utilisation de la mémoire (ko) */
comp_t ac_io; /* Caractères transmis (inutilisé) */
comp_t ac_rw; /* Blocs lus ou écrits (inutilisé) */
comp_t ac_minflt; /* Nb fautes de pages mineures */
comp_t ac_majflt; /* Nb fautes de pages majeures */
comp_t ac_swaps; /* Nb de swaps (inutilisé) */
char ac_comm[ACCT_COMM];
/* Nom de la commande */ };
The acct_v3 structure is defined since glibc 2.6.
La comptabilité des processus provient de BSD. Bien qu'elle soit implémentée sur la plupart des systèmes, elle n'est pas normalisée et varie parfois entre les systèmes.
Les enregistrements dans le fichier de comptabilité sont classés en fonction de l'heure de fin des processus.
Up to and including Linux 2.6.9, a separate accounting record is written for each thread created using the NPTL threading library; since Linux 2.6.10, a single accounting record is written for the entire process on termination of the last thread in the process.
Le fichier proc/sys/kernel/acct, décrit dans proc(5), définit les réglages qui configurent le comportement de la comptabilité des processus lorsque l'espace disque commence à manquer.
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Cédric Boutillier <cedric.boutillier@gmail.com>, Frédéric Hantrais <fhantrais@gmail.com> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.
4 décembre 2022 | Pages du manuel de Linux 6.03 |