Laissez-moi utiliser un exemple pour vous aider à expliquer ce que vos résultats ci-dessus montrent :
Premièrement : j'ai créé un bash script que j'ai exécuté en tant qu'utilisateur patrickr et qui était censé mettre suffisamment de charge sur le système pour être perceptible.
#!/bin/bash
#this file is named loop_script.sh
for i in {1..5000}
do
echo "Welcome $i times"
done
Deuxièmement : j'ai désinstallé puis réinstallé acct pour que mes fichiers dans /var/log/acct soient frais. Créez une copie du fichier /var/log/acct/pacct afin de pouvoir, à l'avenir, facilement tronquer le fichier avec un fichier correctement formaté (vous ne pouvez pas simplement supprimer et recréer le fichier - sa cessera de fonctionner si vous faites cela). Notez que ce fichier est un journal de toutes les commandes sur le système et pour autant que je sache, il n'y a aucun moyen d'extraire des parties du journal basées sur des périodes de temps.
Troisièmement : j'ai ensuite exécuté ce script deux fois en tant que patrickr.
patrickr@hostname:~$ bash loop_script.sh
Je vais vous donner les résultats et ensuite je les expliquerai :
Exécuté en tant que root (ou tout autre utilisateur que patrickr) Après la première boucle en tant que patrickr :
**sa -m**
24 0.09re 0.03cp 0avio 894k
root 22 0.07re 0.02cp 0avio 853k
patrickr 2 0.02re 0.01cp 0avio 1336k
**sa -u |grep patrickr**
patrickr 0.38 cpu 1336k mem 0 io bash
Après la deuxième boucle comme patrickr :
**sa -m**
30 0.09re 0.03cp 0avio 850k
root 27 0.07re 0.02cp 0avio 814k
patrickr 3 0.02re 0.01cp 0avio 1178k
**sa -u |grep patrickr**
patrickr 0.38 cpu 1336k mem 0 io bash
patrickr 0.35 cpu 1336k mem 0 io bash
patrickr 0.00 cpu 863k mem 0 io ls (I happened to also run ls at patrickr)
**sa -u**
The results returned 106 results for a total of 2.86cpu that averaged to 0.03cp
Voici ce que vous voyez :
sa -m montre les moyennes de toute l'activité de ce serveur au fil du temps. Ce fichier s'agrandit au fur et à mesure de l'exécution des commandes.
sa -u | grep patrickr montre la somme du temps système et utilisateur en minutes cpu pour des commandes spécifiques.
En cours d'exécution : sa -u |grep patrickr|awk 'BEGIN{TOTAL=0}{TOTAL=TOTAL+$2}END{imprime TOTAL}''
Cela vous donnera un total combiné pour l'utilisateur patrick mais la commande sa -m vous donne en fait des moyennes. Jetez un coup d'oeil aux valeurs de la mémoire si vous avez besoin d'un deuxième exemple. Elles sont aussi moyennées.
Si j'additionne les trois résultats indiqués ci-dessus pour patrickr, .35 + .37 + .0 et que je divise par 106 et arrondis au centième le plus proche, j'obtiendrai 0.01cp.
Le résultat de 0.01cp est la charge moyenne de l'utilisateur patrickr sur le système par rapport à la charge totale du système depuis l'installation de l'application acct (c'est-à-dire depuis que le fichier /var/log/acct/pacct a commencé à en tenir compte).
Output Fields
cpu - sum of system and user time in cpu minutes
re - actual time in minutes
k - cpu-time averaged core usage, in 1k units
k*sec - cpu storage integral (kilo-core seconds)
u - user cpu time in cpu minutes
s - system time in cpu minutes
Une bonne ressource qui vous aidera est le site beginlinux.com (lien original trouvé aquí ).