Connaitre l'état de la mémoire
Le fichier /proc/meminfo reprend les principales informations sur l’utilisation mémoire. Les trois premières lignes sont les valeurs pour l'ensemble de l'utilisation de la RAM, les valeurs suivants reprennent 1 à 1 chaque élement.$cat /proc/meminfo
MemTotal: 74340804 kB
MemFree: 59341572 kB
Buffers: 2760732 kB
Cached: 8796356 kB
SwapCached: 0 kB
Active: 6056060 kB
Inactive: 5942632 kB
Active(anon): 443260 kB
Inactive(anon): 520 kB
Active(file): 5612800 kB
Inactive(file): 5942112 kB
Unevictable: 3288 kB
Mlocked: 3288 kB
SwapTotal: 265068 kB
SwapFree: 265068 kB
...
Cet exemple montre que le système est équipé de 70 Go de RAM dont 56 Go sont inutilisés. Suivant les distributions, les valeurs sur l'etat de la mémoire peuvent etre présentés différemment.MemTotal: 74340804 kB
MemFree: 59341572 kB
Buffers: 2760732 kB
Cached: 8796356 kB
SwapCached: 0 kB
Active: 6056060 kB
Inactive: 5942632 kB
Active(anon): 443260 kB
Inactive(anon): 520 kB
Active(file): 5612800 kB
Inactive(file): 5942112 kB
Unevictable: 3288 kB
Mlocked: 3288 kB
SwapTotal: 265068 kB
SwapFree: 265068 kB
...
Obtenir des informations sur le cpu
Le fichier /proc/cpuinfo contient les caractéristiques sur le processeur (ou les processeurs dans le cas d'un poste multiprocesseur). Son contenu contient les principales valeurs identifiant le type de processeur qui équipe la machine.$cat /proc/cpuinfo
processor : 11
vendor_id : GenuineIntel
cpu family : 6
model : 62
model name : Intel(R) Xeon(R) CPU E5-2430 v2 @ 2.50GHz
stepping : 4
microcode : 0x416
cpu MHz : 2499.686
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 5
cpu cores : 6
apicid : 11
...
Pour ce poste de travail, les principales données sont:processor : 11
vendor_id : GenuineIntel
cpu family : 6
model : 62
model name : Intel(R) Xeon(R) CPU E5-2430 v2 @ 2.50GHz
stepping : 4
microcode : 0x416
cpu MHz : 2499.686
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 5
cpu cores : 6
apicid : 11
...
- il s'agit des valeurs du 12ème processeur installé sur la machine,
- le cpu est un Intel Xeon,
- le microprocesseur tourne à une fréquence est de 2.5 GHz.
Informations sur le noyau
De la même manière, la version du noyau linux peut être déterminée grace au fichier /proc/version. Parfois, le nom de la distribution Linux est également mentionné.$cat /proc/version
Linux version 3.2.60-infong-14190 (root@buildd-amd64) (gcc version 4.4.5 (Debian 4.4.5-8) )
Comment lire les informations de version ?Linux version 3.2.60-infong-14190 (root@buildd-amd64) (gcc version 4.4.5 (Debian 4.4.5-8) )
Le système s’exécute sur une version 3.2.60 du noyau Linux, compilé avec la version 4.4.5 de GCC. De plus, le nom de la distribution est repris, il s'agit d'un Debian.
Charges de travail des CPU
La charge de travail d'une machine Linux peut être calculer à partir du fichier /proc/stat. Attention, les valeurs correspondent à un nombre de processus depuis le dernier reboot du poste et non pas à une charge à un instant T.$cat /proc/stat
cpu 45468423 235029 6925162 14040798323 0 0 0 0 0 0
cpu0 10816471 18670 1141112 1161918603 0 0 0 0 0 0
cpu1 8587976 32816 1186338 1164280916 0 0 0 0 0 0
cpu2 6678858 18006 909130 1166804070 0 0 0 0 0 0
cpu3 5219561 89809 838782 1168299458 0 0 0 0 0 0
cpu4 4190099 23185 783916 1169472295 0 0 0 0 0 0
cpu5 3606101 29099 734901 1170115081 0 0 0 0 0 0
cpu6 1499266 3773 211811 1172906334 0 0 0 0 0 0
cpu7 912990 4019 211534 1173488475 0 0 0 0 0 0
cpu8 915072 3786 210497 1173482534 0 0 0 0 0 0
cpu9 961580 3806 222960 1173414468 0 0 0 0 0 0
cpu10 1016496 4132 232534 1173340720 0 0 0 0 0 0
cpu11 1063947 3923 241643 1173275363 0 0 0 0 0 0
...
cpu 45468423 235029 6925162 14040798323 0 0 0 0 0 0
cpu0 10816471 18670 1141112 1161918603 0 0 0 0 0 0
cpu1 8587976 32816 1186338 1164280916 0 0 0 0 0 0
cpu2 6678858 18006 909130 1166804070 0 0 0 0 0 0
cpu3 5219561 89809 838782 1168299458 0 0 0 0 0 0
cpu4 4190099 23185 783916 1169472295 0 0 0 0 0 0
cpu5 3606101 29099 734901 1170115081 0 0 0 0 0 0
cpu6 1499266 3773 211811 1172906334 0 0 0 0 0 0
cpu7 912990 4019 211534 1173488475 0 0 0 0 0 0
cpu8 915072 3786 210497 1173482534 0 0 0 0 0 0
cpu9 961580 3806 222960 1173414468 0 0 0 0 0 0
cpu10 1016496 4132 232534 1173340720 0 0 0 0 0 0
cpu11 1063947 3923 241643 1173275363 0 0 0 0 0 0
...
Chaque ligne est le total des temps passé à l’exécution de processus pour chacun des cpu. On différencie xx types de processus:
- user: processus en usermode,
- nice: processus avec un nice level en usermode,
- system: processus en mode kernel,
- idle: temps passé à attendre,
- iowait: en attente d'entrées/sorties,
- irq: temps de service des interruptions,
- softirq: temps de service des interruptions logicielles.
Démarrage du systeme
Le fichier /proc/uptime contient le nombre de seconde écoulées depuis le dernier démarrage du poste.$cat /proc/uptime
11758212.17
11758212.17
Le dernier reboot de la machine est intervenu il y a 11758212.17 secondes, soit environ 136 jours 2 Heures et 10 minutes.
Les données des exemples ci-dessus sont des indicateurs sur l'état d'une machine Linux en temps réel. Bien souvent un serveur Linux se trouve dans une salle au fond d'un bâtiment, on en arrive à oublier sa présence :) La mesure des informations système peut être automatisée et afficher dans une page PHP. Ainsi, en appuyant régulièrement sur F5, on peut connaitre la santé de son serveur Linux en restant tranquillement dans sa chaise.