# Maintenance approfondie du système

<span style="text-decoration: underline;">**Afficher les logs du noyeau linux :**</span>

```bash
dmesg
```

##### Surveiller les pertes UDP :

```bash
netstat -su
```

##### Surveiller les pertes TCP : 

```bash
netstat -st
```

##### Surveiller les **intéruptions materielle** par CPU : 

```
watch -n 1 cat /proc/interrupts
```

Voir : [https://docs.redhat.com/fr/documentation/red\_hat\_enterprise\_linux/6/html/performance\_tuning\_guide/s-cpu-irq](https://docs.redhat.com/fr/documentation/red_hat_enterprise_linux/6/html/performance_tuning_guide/s-cpu-irq)

##### Surveiller les **intéruptions logicielles** par CPU : 

```
watch -n 1 cat /proc/softirqs
```

voir : [https://cleveruptime.com/docs/files/proc-softirqs](https://cleveruptime.com/docs/files/proc-softirqs)

##### Surveiller l'utilisation des ressources CPU :

```bash
sudo perf top
```

\--&gt; Liste les fonctions les plus utilisées par les processus du système

Voir :

- [https://grasland.pages.in2p3.fr/tp-perf/perf-top/index.html](https://grasland.pages.in2p3.fr/tp-perf/perf-top/index.html)
- [https://docs.redhat.com/fr/documentation/red\_hat\_enterprise\_linux/9/html/monitoring\_and\_managing\_system\_status\_and\_performance/interpretation-of-perf-top-output\_profiling-cpu-usage-in-real-time-with-top](https://docs.redhat.com/fr/documentation/red_hat_enterprise_linux/9/html/monitoring_and_managing_system_status_and_performance/interpretation-of-perf-top-output_profiling-cpu-usage-in-real-time-with-top)

##### Afficher l'empreinte mémoire d'un processus

```bash
sudo pmap -x PID
```

-&gt; [https://www.redhat.com/fr/blog/pmap-command](https://www.redhat.com/fr/blog/pmap-command)

##### Récuperer les processus affectés à un utilisateur

```bash
sudo pgrep -u www-data
```

##### Récuperer les processus affectés à un service

```bash
sudo pgrep sshd
```

<p class="callout warning">Le service doit exécuté par l'utilisateur qui exécute l'utilisateur si celui-ci n'est pas mensionné : ici, c'est fonctionnel car sshd est exécuté par root.</p>

##### Lister les processus en arbre : 

```bash
sudo pstree
```

ou

```bash
sudo ps --forest aux
```

##### NICE : 

Le nice donne la priorité des processus entre -20 et +19.

- -20 : priorité maximale (le plus exigeant en CPU)
- 0 : priorité normale (valeur par défaut)
- +19 : priorité minimale (le plus "gentil", cède volontiers le CPU)

<span style="text-decoration: underline;">**Afficher les NICE des processus :**</span>

```bash
 ps -eo pid,ppid,ni,cmd --sort=ni
```

<span style="text-decoration: underline;">**Changer le nice d'un processus (dans son fichier démon) :**</span>

```
Nice=19
```

<span style="text-decoration: underline;">**Changer à chaud le nice d'un process :** </span>

```bash
# COMMAND ITSELF
sudo renice VALUE -p PID
# EXAMPLE
sudo renice -5 -p 1234
```