chat /proc/stat
http://www.linuxhowtos.org/System/procstat.htm
Je suis d'accord avec cette réponse ci-dessus. La ligne cpu dans ce fichier donne le nombre total de "jiffies" que votre système a passé à effectuer différents types de traitement.
Ce que vous devez faire est de prendre 2 lectures de ce fichier, séparées par l'intervalle de temps dont vous avez besoin. Les nombres sont des valeurs croissantes (sous réserve d'un roulement d'entier), donc pour obtenir le %cpu, vous devez calculer le nombre de jiffies écoulés sur votre intervalle, par rapport au nombre de jiffies consacrés au travail.
Par exemple, supposons qu'à 14:00:00 vous ayez
processeur 4698 591 262 8953 916 449 531
total_jiffies_1 =(somme de toutes les valeurs) =16400
work_jiffies_1 =(somme de user,nice,system =les 3 premières valeurs) =5551
et à 14:00:05 vous avez
processeur 4739 591 289 9961 936 449 541
total_jiffies_2 =17506
work_jiffies_2 =5619
Ainsi, l'utilisation %cpu sur cette période est :
work_over_period =work_jiffies_2 - work_jiffies_1 =68
total_over_period =total_jiffies_2 - total_jiffies_1 =1106
%cpu =work_over_period / total_over_period * 100 =6,1 %
J'espère que ça aide un peu.
Essayez de lire /proc/loadavg
. Les trois premiers chiffres correspondent au nombre de processus en cours d'exécution (c'est-à-dire utilisant un processeur), en moyenne sur les 1, 5 et 15 dernières minutes, respectivement.
http://www.linuxinsight.com/proc_loadavg.html