Files
serv_benchmark/analyse_chatgpt.md
Gilles Soulier c67befc549 addon
2026-01-05 16:08:01 +01:00

74 KiB
Executable File
Raw Blame History

Vous avez dit : sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run sysbench 1.0.20 (using system LuaJIT 2.1.1700206165)

Running the test with following options: Number of threads: 4 Initializing random number generator from current time

Prime numbers limit: 20000

Initializing worker threads...

Threads started!

CPU speed: events per second: 1274.88

General statistics: total time: 10.0029s total number of events: 12755

Latency (ms): min: 2.86 avg: 3.14 max: 20.37 95th percentile: 4.10 sum: 39998.99

Threads fairness: events (avg/stddev): 3188.7500/80.13 execution time (avg/stddev): 9.9997/0.00 peut tu m'expliquer en detail ChatGPT a dit :

Voici ce que signifie chaque ligne de ton test sysbench cpu et comment linterpréter.

  1. La commande

sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run

cpu : tu lances le test CPU intégré à sysbench.

--cpu-max-prime=20000 : pour chaque “événement”, sysbench calcule les nombres premiers jusquà 20 000. Plus cette valeur est grande, plus chaque événement est lourd.

--threads=$(nproc) : tu utilises autant de threads que de cœurs logiques détectés par le système.
Dans ton cas, sysbench affiche ensuite :

    Number of threads: 4

Donc la machine a 4 cœurs logiques (ou tu as limité à 4).
  1. Début du test

Prime numbers limit: 20000

Initializing worker threads...

Threads started!

Prime numbers limit: 20000 confirme que chaque “événement” = calcul des nombres premiers jusquà 20 000.

worker threads : sysbench lance 4 threads en parallèle.

Chaque thread enchaîne ces calculs jusquà ce que la durée du test (par défaut 10 s) soit atteinte.
  1. CPU speed events per second

CPU speed: events per second: 1274.88

Un event = “un passage complet de lalgorithme qui teste tous les nombres jusquà 20000 pour trouver les nombres premiers”.

events per second: 1274.88 signifie :

    Au total, lensemble des 4 threads a réalisé environ 1 275 événements par seconde.

    Sur ~10 s, ça donne ~12 755 événements (on le voit plus bas).

On peut estimer le volume de calcul brut :

1 événement ≈ 20 000 nombres testés.

Nombre total dévénements : 12 755.

Nombre approximatif de tests effectués :

    12 755 × 20 000 = 255 100 000 opérations de test de nombres (ordre de grandeur).

Ce nest pas un benchmark “scientifique”, mais ça donne une idée des capacités de la machine sur un calcul entier simple monothread/multithread. 4. General statistics

General statistics: total time: 10.0029s total number of events: 12755

total time: 10.0029s : le test a duré 10 s (valeur par défaut), plus la petite dérive (0.0029 s).

total number of events: 12755 : cest le nombre total ditérations (tous threads confondus) réalisées pendant ces 10 s.

Vérification rapide :

12 755 événements / 10.0029 s ≈ 1 274.88 événements/s
→ cohérent avec la ligne events per second.
  1. Latency

Latency (ms): min: 2.86 avg: 3.14 max: 20.37 95th percentile: 4.10 sum: 39998.99

Ici, la “latence” = le temps que met un événement à sexécuter (calcul des primes jusquà 20000), mesuré pour chaque événement.

min: 2.86 ms
Lévénement le plus rapide a pris 2,86 millisecondes.

avg: 3.14 ms
En moyenne, un événement dure 3,14 ms.

max: 20.37 ms
Le plus lent des événements a pris 20,37 ms.

    Cela peut être dû à une interruption, un scheduling du CPU, un autre processus qui se réveille, etc.

95th percentile: 4.10 ms
95 % des événements ont une durée ≤ 4,10 ms.

    Cela donne une idée de la stabilité du temps de calcul : la majorité des événements sont proches de 34 ms.

sum: 39998.99 ms
Somme de toutes les latences mesurées pour les événements.
Ce chiffre est en millisecondes, donc ≈ 40 000 ms ≈ 40 s.

Pourquoi 40 s alors que le test dure 10 s ?

Tu as 4 threads.

Chaque thread a travaillé environ 10 s.

4 threads × 10 s ≈ 40 s de temps CPU cumulé.
→ Ce “sum” est cohérent : cest la somme du temps passé par tous les threads, pas seulement le temps “mur”.
  1. Threads fairness (équité des threads)

Threads fairness: events (avg/stddev): 3188.7500/80.13 execution time (avg/stddev): 9.9997/0.00

events (avg/stddev): 3188.7500/80.13

    En moyenne, chaque thread a traité environ 3 188,75 événements.

    Avec un écart-type de ~80, ce qui signifie que les threads ont été assez bien équilibrés :

        Certains threads ont fait un peu plus, dautres un peu moins, mais la différence reste faible.

Vérification :

    3 188,75 événements/thread × 4 threads ≈ 12 755 événements → cohérent.

execution time (avg/stddev): 9.9997/0.00

    Chaque thread a tourné en moyenne 9,9997 s, avec un écart-type à 0,00.

    Donc les 4 threads ont travaillé quasiment exactement la même durée, ce qui est normal sur ce type de test.
  1. Comment interpréter ce résultat pour ta machine

En résumé :

Ta machine (4 threads) réalise :

    Environ 1 275 itérations complètes de calcul de nombres premiers jusquà 20 000 par seconde.

    Soit ~255 millions de tests de nombres en ~10 secondes.

La latence par tâche est stable : en moyenne 3 ms, 95 % des tâches en dessous de 4,1 ms.

Répartition du travail :

    Les 4 threads sont bien utilisés (même temps dexécution, nombre dévénements proche).

Ce test est surtout utile :

Pour comparer avant/après (overclock, changement de noyau, options dénergie, virtualisation, etc.).

Pour comparer plusieurs machines entre elles en gardant exactement les mêmes paramètres (--cpu-max-prime, --threads, durée, etc.).

Si tu veux aller plus loin, on peut :

Comparer ce résultat avec une autre machine.

Tester avec dautres valeurs de --cpu-max-prime (par ex. 10000 / 50000) pour voir limpact.

Lancer avec un seul thread (--threads=1) pour voir les performances monothread.

Vous avez dit : quel sont donc les donnée importante a reterer de ce bench ? ChatGPT a dit :

Voici les seules données réellement importantes à retenir dans un bench sysbench cpu, cest-à-dire celles qui serviront à comparer des machines, évaluer une optimisation, ou diagnostiquer un problème CPU.

  1. events per second (EPS) → INDICATEUR PRINCIPAL

events per second: 1274.88

Cest la métrique la plus importante.

Cest le débit de calcul : combien ditérations complètes (prime jusquà 20000) la machine exécute par seconde.

Plus la valeur est haute, plus le CPU est rapide.

Cest celle quon compare entre machines.

À retenir absolument. 2. total number of events

total number of events: 12755

Confirme la cohérence du résultat.

Utile pour valider que le test na pas eu de ralentissements majeurs.
  1. latency avg + 95th percentile

avg latency: 3.14 ms 95th percentile: 4.10 ms

Ce sont les deux valeurs de latence importantes :

avg donne la stabilité moyenne.

95th percentile indique si le CPU a eu des “pics” de lenteur (interruptions, scheduling).

Si le 95th est proche de lavg → CPU stable. Si le 95th explose → le système est perturbé. 4. threads fairness

events (avg/stddev): 3188.75 / 80.13 execution time stddev: 0.00

À retenir uniquement si tu veux vérifier :

que les threads ont travaillé équitablement,

quun core nétait pas bridé ou occupé par un autre processus.

Écart-type faible → répartition normale. 5. (optionnel) Nombre de threads et niveau de charge

Number of threads: 4

À retenir uniquement pour contextualiser le benchmark. On ne compare pas une machine à 4 threads avec une machine à 16 threads. Résumé ultra-court : les 3 valeurs qui comptent Donnée Pourquoi cest important events per second Vitesse globale du CPU (métrique clé) latency avg / 95th Stabilité du calcul et absence de perturbation threads fairness Vérifie que tous les cœurs ont été utilisés correctement Si tu veux je peux te faire un tableau de comparaison pour dautres machines que tu testes ensuite. Vous avez dit : et si je veut faire le test sur un seul thread ? ChatGPT a dit :

Pour exécuter sysbench CPU sur un seul thread, tu utilises simplement :

sysbench cpu --cpu-max-prime=20000 --threads=1 run

Pourquoi faire un test 1 thread ?

Le test en thread unique mesure :

la performance monothread pure,

la qualité du core,

limpact de la fréquence CPU,

la latence liée au scheduler,

lefficacité IPC (instructions par cycle).

Cest souvent plus représentatif des performances réelles dans :

tâches Python,

jeux vidéo,

I/O filesystem,

services web mono-worker,

automatisations HA ou scripts,

VM légères.

Ce que tu dois comparer dans un test 1 thread

Tu dois extraire ces données :

events per second → métrique principale

avg latency (ms)

95th percentile latency

max latency (pour repérer les “spikes”)

Le reste est secondaire. Exemple de comparaison 1 thread vs multi-thread

Si tu veux, tu peux me donner ton résultat 1 thread et je te fais une analyse :

performance monothread brute,

scaling des performances (1 thread → 4 threads),

efficacité CPU,

éventuels problèmes thermiques ou de scheduling.

Si tu veux, je peux aussi te proposer un tableau type pour suivre tous tes benchmarks CPU sur tes machines Debian, Proxmox, NAS, VM, laptop et mini PC. Vous avez dit : pourquoi un tel ecart entre ce 2 commandes : sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run sysbench 1.0.20 (using system LuaJIT 2.1.1700206165)

Running the test with following options: Number of threads: 4 Initializing random number generator from current time

Prime numbers limit: 20000

Initializing worker threads...

Threads started!

CPU speed: events per second: 1203.40

General statistics: total time: 10.0006s total number of events: 12037

Latency (ms): min: 2.83 avg: 3.32 max: 24.05 95th percentile: 6.91 sum: 39995.46

Threads fairness: events (avg/stddev): 3009.2500/43.11 execution time (avg/stddev): 9.9989/0.00

gilles@lenovo-bureau:~/Documents/vscode$ sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run 2>&1 | grep 'events per second' events per second: 1247.67 ChatGPT a dit :

Voici la raison exacte pour laquelle tu vois un écart entre :

la commande (A)

sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run

→ 1203 events/sec

et

la commande (B)

sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run 2>&1 | grep 'events per second'

→ 1247 events/sec

Cet écart est normal et sexplique par 3 facteurs cumulés.

  1. sysbench relance le test à chaque commande

Chaque exécution de sysbench est un nouveau test, avec :

une nouvelle initialisation,

un nouvel état du CPU,

une charge système potentiellement différente,

une température différente,

une fréquence CPU dynamique (Intel P-states),

potentiellement des interruptions différentes.

Donc deux commandes successives ne donneront jamais exactement le même score.

Un écart de :

3 à 5 % est totalement normal sur une machine “vivante”

Ici : 1247.67 vs 1203.40 = +3.67 % → parfait, dans la norme.
  1. Lutilisation de grep change parfois la sortie, mais pas le calcul

Important :

grep ne modifie pas le benchmark, il lit seulement le stdout après lexécution du test.

Donc laugmentation nest pas causée par grep.

La cause = nouvelle exécution → nouvelles conditions du CPU. 3. Variations naturelles de fréquence CPU (Intel SpeedShift / Turbo Boost)

Sysbench CPU est un benchmark pur entier / calcul continu.

La fréquence du CPU peut varier :

car il chauffe,

car le scheduler Linux utilise dautres tâches,

car le Turbo Boost sactive/désactive,

car létat énergétique change (C-states),

car lalimentation varie (secteur vs batterie),

parce que le CPU est revenu au repos entre deux commandes.

→ un CPU peut perdre 50 à 100 events/sec juste à cause du passage dune fréquence à une autre. 4. Température CPU = impact direct sur les performances

Si la première commande chauffe le CPU, la seconde peut tourner à fréquence un peu plus basse, ou linverse.

Les écarts typiques : Température Fréquence Impact CPU froid Turbo max events/sec ↑ CPU chaud Turbo réduit events/sec ↓

Ici, ton écart est positif → le CPU était probablement un peu plus chaud ou occupé au premier test. Synthèse : pourquoi lécart existe ?

Parce que tu as lancé deux fois un benchmark complet. Chaque lancement produit naturellement une variation de performance, due aux fluctuations :

du scheduler,

du Turbo Boost,

de la température,

du bruit système,

des interruptions kernel.

Lécart de 34 % est parfaitement normal sur un CPU grand public. Si tu veux une comparaison fiable

Il faut exécuter par exemple :

for i in {1..10}; do sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run | grep 'events per second'; done

Ensuite je te calcule automatiquement :

moyenne

écart-type

min

max

→ pour obtenir un score fiable de ta machine.

Si tu veux, je peux te donner le script complet + un tableau danalyse. Vous avez dit : events per second: 1247.67 et events (avg/stddev): 3009.2500/43.11 ? ChatGPT a dit :

Les deux valeurs :

events per second: 1247.67

et

events (avg/stddev): 3009.2500/43.11

sont liées, mais elles ne représentent pas du tout la même chose.

Voici lexplication claire.

  1. events per second = débit global de la machine

events per second: 1247.67

Cest le nombre total dévénements exécutés par seconde, en additionnant tous les threads.

Autrement dit :

events_per_second = total_events / total_time

Ce chiffre représente la performance totale.

Dans ton cas :

~1250 events/s pour les 4 threads combinés.
  1. events (avg/stddev) = répartition par thread

events (avg/stddev): 3009.2500/43.11

Ce bloc indique :

3009.25 = nombre dévénements par thread en moyenne

43.11 = variation (écart-type) entre les threads

Donc chaque thread a traité environ 3009 événements durant les 10 secondes. 3. Vérifions que les deux chiffres concordent Total events = avg events per thread × number of threads

Tu as 4 threads.

3009.25 × 4 = 12037 événements

Et sysbench affiche :

total number of events: 12037

→ Cest cohérent à 100 % events per second = total_events / 10 s

12037 / 10 = 1203.7 events/s

Dans ton autre test :

events per second: 1247.67

Il faut comprendre que ce sont deux exécutions différentes, donc les valeurs changent légèrement à chaque test.

Mais la relation mathématique reste la même. 4. Synthèse simple Valeur Signification events per second Performance totale (tous threads combinés) events (avg) Nombre dévénements effectués par thread events (stddev) Écart entre les threads (équilibrage load-balancing) 5. Pourquoi les chiffres n'ont pas la même échelle ?

Parce que :

events per second = événements/seconde

events (avg) = événements en 10 secondes, par thread

Donc naturellement, les valeurs “avg per thread” sont beaucoup plus grandes (≈ 3000) que le débit instantané (≈ 1250/s). Si tu veux, je peux te produire un schéma clair qui relie toutes les valeurs du benchmark pour bien visualiser les relations. Vous avez dit : gilles@lenovo-bureau:~/Documents/vscode$ lsblk -o NAME,SIZE,TYPE,MOUNTPOINT NAME SIZE TYPE MOUNTPOINT loop1 55,5M loop /snap/core18/2976 loop2 55,5M loop /snap/core18/2952 loop3 63,8M loop /snap/core20/2669 loop4 164,8M loop /snap/gnome-3-28-1804/198 loop5 4K loop /snap/bare/5 loop6 50,8M loop /snap/snapd/25202 loop7 91,7M loop /snap/gtk-common-themes/1535 loop8 56,5M loop /snap/mqtt-explorer/29 loop9 92,5M loop /snap/mqtt-explorer/31 loop10 50,9M loop /snap/snapd/25577 loop11 63,8M loop /snap/core20/2682 sda 447,1G disk ├─sda1 7,4G part [SWAP] ├─sda2 1K part └─sda5 439,7G part / sdb 0B disk ChatGPT a dit :

Voici lanalyse détaillée de ton lsblk et ce que signifient les lignes affichées.

  1. Les périphériques loopX

loop1 ... loop11

Ce sont des images montées par Snap. Elles ne sont pas de vrais disques.

Chaque snap installé crée une image squashfs montée comme un pseudo-disque en lecture seule.

Exemples de packages montés : Loop Taille Package loop1 55,5M snap core18 loop3 63,8M snap core20 loop4 164,8M GNOME runtime loop6 50,8M snapd loop8 / loop9 56,5M / 92,5M MQTT Explorer

Normal sur Ubuntu / Debian avec Snap → rien à corriger. 2. Ton disque principal : sda

sda 447,1G disk ├─sda1 7,4G part [SWAP] ├─sda2 1K part └─sda5 439,7G part /

Analyse : sda = SSD/HDD de 447 Go

Tu peux obtenir le modèle avec :

sudo smartctl -i /dev/sda

sda1 = 7,4 Go → SWAP

Un swap de 7,4 Go est cohérent pour une machine avec 8 à 16 Go de RAM. sda2 = 1K → partition de boot GRUB BIOS

La petite partition de 1K est une partition étendue / legacy utilisée par certains schémas MBR. Tu peux lignorer. sda5 = 439,7 Go → partition racine /

Toute ton installation Linux est dessus. Cest une structure typique :

table de partition MBR (dos)

swap en primaire

puis partition étendue contenant sda5
  1. Le disque sdb = 0B

sdb 0B disk

Ça paraît bizarre, mais cest normal dans deux cas : Cas 1 : Cest un périphérique fantôme créé par le contrôleur

Certains contrôleurs SATA/USB listent un deuxième canal vide → lsblk le voit mais sans capacité.

→ Probable si tu nas quun seul disque physique dans la machine. Cas 2 : Une carte SD / clé USB mal reconnue

Un support mal connecté peut apparaître comme “0B”. Cas 3 : Un port NVMe/SATA vide exposé par le BIOS

Très fréquent sur :

Lenovo

HP

Dell

On voit sdb mais il ny a rien dessus → 0B. Si tu veux lidentifier, lance :

sudo dmesg | grep -i sdb

ou

sudo smartctl -i /dev/sdb

ou

sudo fdisk -l /dev/sdb

Si tout répond “no such device”, cest bien un port vide. 4. Résumé simple et utile pour toi Périphérique Rôle Commentaire loop1loop11 images snap normal, ignorer sda disque principal 447 Go sda1 swap 7.4 Go sda5 racine Linux 439 Go ext4 sdb périphérique fantôme port SATA/NVMe non utilisé ou bug driver Si tu veux, je peux te générer aussi :

lanalyse SMART complète du disque sda,

un diagnostic filesystem,

létat dusure du SSD,

un schéma ASCII clair de ton partitionnement.

Tu veux aller plus loin ? Vous avez dit : gilles@lenovo-bureau:/Documents/vscode$ which sysbench fio iperf3 dmidecode lscpu free jq lsblk /usr/bin/sysbench /usr/bin/fio /usr/bin/iperf3 /usr/bin/lscpu /usr/bin/free /usr/bin/jq /usr/bin/lsblk gilles@lenovo-bureau:/Documents/vscode$ sysbench cpu --cpu-max-prime=10000 --threads=$(nproc) run sysbench 1.0.20 (using system LuaJIT 2.1.1700206165)

Running the test with following options: Number of threads: 4 Initializing random number generator from current time

Prime numbers limit: 10000

Initializing worker threads...

Threads started!

CPU speed: events per second: 3409.87

General statistics: total time: 10.0005s total number of events: 34107

Latency (ms): min: 1.10 avg: 1.17 max: 15.92 95th percentile: 1.23 sum: 39987.41

Threads fairness: events (avg/stddev): 8526.7500/114.76 execution time (avg/stddev): 9.9969/0.00

gilles@lenovo-bureau:~/Documents/vscode$ sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run sysbench 1.0.20 (using system LuaJIT 2.1.1700206165)

Running the test with following options: Number of threads: 4 Initializing random number generator from current time

Prime numbers limit: 20000

Initializing worker threads...

Threads started!

CPU speed: events per second: 1274.88

General statistics: total time: 10.0029s total number of events: 12755

Latency (ms): min: 2.86 avg: 3.14 max: 20.37 95th percentile: 4.10 sum: 39998.99

Threads fairness: events (avg/stddev): 3188.7500/80.13 execution time (avg/stddev): 9.9997/0.00

gilles@lenovo-bureau:/Documents/vscode$ sysbench cpu --cpu-max-prime=10000 --threads=$(nproc) run 2>&1 | grep 'events per second' events per second: 3371.59 gilles@lenovo-bureau:/Documents/vscode$ sysbench cpu --cpu-max-prime=20000 --threads=1 run sysbench 1.0.20 (using system LuaJIT 2.1.1700206165)

Running the test with following options: Number of threads: 1 Initializing random number generator from current time

Prime numbers limit: 20000

Initializing worker threads...

Threads started!

CPU speed: events per second: 357.09

General statistics: total time: 10.0002s total number of events: 3572

Latency (ms): min: 2.70 avg: 2.80 max: 4.75 95th percentile: 2.91 sum: 9997.51

Threads fairness: events (avg/stddev): 3572.0000/0.00 execution time (avg/stddev): 9.9975/0.00

gilles@lenovo-bureau:/Documents/vscode$ sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run 2>&1 | grep 'events per second' events per second: 1209.68 gilles@lenovo-bureau:/Documents/vscode$ sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run 2>&1 | grep 'events per second' events per second: 1222.35 gilles@lenovo-bureau:/Documents/vscode$ sysbench cpu --cpu-max-prime=10000 --threads=$(nproc) run 2>&1 | grep 'events per second' events per second: 3286.23 gilles@lenovo-bureau:/Documents/vscode$ sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run sysbench 1.0.20 (using system LuaJIT 2.1.1700206165)

Running the test with following options: Number of threads: 4 Initializing random number generator from current time

Prime numbers limit: 20000

Initializing worker threads...

Threads started!

CPU speed: events per second: 1203.40

General statistics: total time: 10.0006s total number of events: 12037

Latency (ms): min: 2.83 avg: 3.32 max: 24.05 95th percentile: 6.91 sum: 39995.46

Threads fairness: events (avg/stddev): 3009.2500/43.11 execution time (avg/stddev): 9.9989/0.00

gilles@lenovo-bureau:/Documents/vscode$ sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run 2>&1 | grep 'events per second' events per second: 1247.67 gilles@lenovo-bureau:/Documents/vscode$ sysbench memory --memory-block-size=1M --memory-total-size=512M run sysbench 1.0.20 (using system LuaJIT 2.1.1700206165)

Running the test with following options: Number of threads: 1 Initializing random number generator from current time

Running memory speed test with the following options: block size: 1024KiB total size: 512MiB operation: write scope: global

Initializing worker threads...

Threads started!

Total operations: 512 (13806.03 per second)

512.00 MiB transferred (13806.03 MiB/sec)

General statistics: total time: 0.0351s total number of events: 512

Latency (ms): min: 0.06 avg: 0.07 max: 2.47 95th percentile: 0.07 sum: 34.40

Threads fairness: events (avg/stddev): 512.0000/0.00 execution time (avg/stddev): 0.0344/0.00

gilles@lenovo-bureau:~/Documents/vscode$ sysbench memory --memory-block-size=1M --memory-total-size=1G run sysbench 1.0.20 (using system LuaJIT 2.1.1700206165)

Running the test with following options: Number of threads: 1 Initializing random number generator from current time

Running memory speed test with the following options: block size: 1024KiB total size: 1024MiB operation: write scope: global

Initializing worker threads...

Threads started!

Total operations: 1024 (15213.54 per second)

1024.00 MiB transferred (15213.54 MiB/sec)

General statistics: total time: 0.0645s total number of events: 1024

Latency (ms): min: 0.06 avg: 0.06 max: 0.11 95th percentile: 0.07 sum: 63.82

Threads fairness: events (avg/stddev): 1024.0000/0.00 execution time (avg/stddev): 0.0638/0.00

gilles@lenovo-bureau:/Documents/vscode$ sysbench memory --memory-block-size=1M --memory-total-size=512M run 2>&1 | grep 'MiB/sec' 512.00 MiB transferred (13200.66 MiB/sec) gilles@lenovo-bureau:/Documents/vscode$ fio --name=seqread --ioengine=libaio --rw=read --bs=1M --size=1G --numjobs=1 --direct=1 --filename=/tmp/fio-test-file seqread: (g=0): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=1 fio-3.39 Starting 1 process seqread: Laying out IO file (1 file / 1024MiB)

seqread: (groupid=0, jobs=1): err= 0: pid=187410: Sun Dec 7 18:59:47 2025 read: IOPS=2592, BW=2592MiB/s (2718MB/s)(1024MiB/395msec) slat (usec): min=117, max=23346, avg=380.74, stdev=1290.59 clat (nsec): min=977, max=26622, avg=2359.69, stdev=1741.78 lat (usec): min=118, max=23357, avg=383.09, stdev=1291.52 clat percentiles (nsec): | 1.00th=[ 1128], 5.00th=[ 1256], 10.00th=[ 1352], 20.00th=[ 1464], | 30.00th=[ 1592], 40.00th=[ 1720], 50.00th=[ 1880], 60.00th=[ 2096], | 70.00th=[ 2352], 80.00th=[ 2736], 90.00th=[ 3440], 95.00th=[ 5088], | 99.00th=[ 9536], 99.50th=[10688], 99.90th=[18304], 99.95th=[26496], | 99.99th=[26496] lat (nsec) : 1000=0.20% lat (usec) : 2=55.27%, 4=37.11%, 10=6.54%, 20=0.78%, 50=0.10% cpu : usr=0.00%, sys=56.60%, ctx=1038, majf=0, minf=263 IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% issued rwts: total=1024,0,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs): READ: bw=2592MiB/s (2718MB/s), 2592MiB/s-2592MiB/s (2718MB/s-2718MB/s), io=1024MiB (1074MB), run=395-395msec gilles@lenovo-bureau:~/Documents/vscode$ fio --name=seqwrite --ioengine=libaio --rw=write --bs=1M --size=1G --numjobs=1 --direct=1 --filename=/tmp/fio-test-file seqwrite: (g=0): rw=write, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=1 fio-3.39 Starting 1 process

seqwrite: (groupid=0, jobs=1): err= 0: pid=187837: Sun Dec 7 19:00:17 2025 write: IOPS=1432, BW=1432MiB/s (1502MB/s)(1024MiB/715msec); 0 zone resets slat (usec): min=204, max=11961, avg=694.16, stdev=1520.00 clat (nsec): min=1065, max=17330, avg=2072.35, stdev=1337.13 lat (usec): min=206, max=11969, avg=696.24, stdev=1521.09 clat percentiles (nsec): | 1.00th=[ 1112], 5.00th=[ 1224], 10.00th=[ 1288], 20.00th=[ 1400], | 30.00th=[ 1480], 40.00th=[ 1576], 50.00th=[ 1688], 60.00th=[ 1816], | 70.00th=[ 2008], 80.00th=[ 2256], 90.00th=[ 2832], 95.00th=[ 4704], | 99.00th=[ 7136], 99.50th=[ 8512], 99.90th=[13632], 99.95th=[17280], | 99.99th=[17280] bw ( KiB/s): min=917504, max=917504, per=62.56%, avg=917504.00, stdev= 0.00, samples=1 iops : min= 896, max= 896, avg=896.00, stdev= 0.00, samples=1 lat (usec) : 2=69.34%, 4=22.75%, 10=7.62%, 20=0.29% cpu : usr=1.68%, sys=56.02%, ctx=2531, majf=0, minf=8 IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% issued rwts: total=0,1024,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs): WRITE: bw=1432MiB/s (1502MB/s), 1432MiB/s-1432MiB/s (1502MB/s-1502MB/s), io=1024MiB (1074MB), run=715-715msec gilles@lenovo-bureau:~/Documents/vscode$ fio --name=randrw --ioengine=libaio --rw=randrw --bs=4k --size=100M --numjobs=1 --direct=1 --filename=/tmp/fio-test-file randrw: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=1 fio-3.39 Starting 1 process

randrw: (groupid=0, jobs=1): err= 0: pid=188034: Sun Dec 7 19:00:29 2025 read: IOPS=175k, BW=685MiB/s (718MB/s)(50.0MiB/73msec) slat (nsec): min=1268, max=18616, avg=1555.05, stdev=490.87 clat (nsec): min=676, max=14956, avg=734.49, stdev=251.65 lat (nsec): min=1993, max=26902, avg=2289.55, stdev=581.73 clat percentiles (nsec): | 1.00th=[ 692], 5.00th=[ 700], 10.00th=[ 708], 20.00th=[ 716], | 30.00th=[ 716], 40.00th=[ 716], 50.00th=[ 724], 60.00th=[ 724], | 70.00th=[ 732], 80.00th=[ 740], 90.00th=[ 748], 95.00th=[ 764], | 99.00th=[ 820], 99.50th=[ 860], 99.90th=[ 5216], 99.95th=[ 8096], | 99.99th=[ 8256] write: IOPS=175k, BW=685MiB/s (718MB/s)(50.0MiB/73msec); 0 zone resets slat (nsec): min=1326, max=67794, avg=1571.91, stdev=710.30 clat (nsec): min=679, max=32515, avg=735.70, stdev=442.05 lat (nsec): min=2044, max=70714, avg=2307.61, stdev=872.94 clat percentiles (nsec): | 1.00th=[ 692], 5.00th=[ 700], 10.00th=[ 700], 20.00th=[ 708], | 30.00th=[ 716], 40.00th=[ 716], 50.00th=[ 716], 60.00th=[ 724], | 70.00th=[ 724], 80.00th=[ 732], 90.00th=[ 748], 95.00th=[ 764], | 99.00th=[ 804], 99.50th=[ 844], 99.90th=[ 7968], 99.95th=[ 8256], | 99.99th=[21888] lat (nsec) : 750=91.15%, 1000=8.63% lat (usec) : 2=0.11%, 4=0.01%, 10=0.09%, 20=0.01%, 50=0.01% cpu : usr=36.11%, sys=58.33%, ctx=3, majf=0, minf=10 IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% issued rwts: total=12800,12800,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs): READ: bw=685MiB/s (718MB/s), 685MiB/s-685MiB/s (718MB/s-718MB/s), io=50.0MiB (52.4MB), run=73-73msec WRITE: bw=685MiB/s (718MB/s), 685MiB/s-685MiB/s (718MB/s-718MB/s), io=50.0MiB (52.4MB), run=73-73msec gilles@lenovo-bureau:/Documents/vscode$ fio --name=test --ioengine=libaio --rw=randrw --bs=4k --size=100M --numjobs=1 --direct=1 --filename=/tmp/fio-test-file --output-format=json { "fio version" : "fio-3.39", "timestamp" : 1765130445, "timestamp_ms" : 1765130445593, "time" : "Sun Dec 7 19:00:45 2025", "jobs" : [ { "jobname" : "test", "groupid" : 0, "job_start" : 1765130445203, "error" : 0, "eta" : 2147483647, "elapsed" : 1, "job options" : { "name" : "test", "ioengine" : "libaio", "rw" : "randrw", "bs" : "4k", "size" : "100M", "numjobs" : "1", "direct" : "1", "filename" : "/tmp/fio-test-file" }, "read" : { "io_bytes" : 52428800, "io_kbytes" : 51200, "bw_bytes" : 728177777, "bw" : 711111, "iops" : 177777.777778, "runtime" : 72, "total_ios" : 12800, "short_ios" : 0, "drop_ios" : 0, "slat_ns" : { "min" : 1253, "max" : 25366, "mean" : 1558.008203, "stddev" : 521.711230, "N" : 12800 }, "clat_ns" : { "min" : 679, "max" : 19250, "mean" : 729.195469, "stddev" : 281.986042, "N" : 12800, "percentile" : { "1.000000" : 692, "5.000000" : 700, "10.000000" : 700, "20.000000" : 708, "30.000000" : 708, "40.000000" : 716, "50.000000" : 716, "60.000000" : 716, "70.000000" : 724, "80.000000" : 724, "90.000000" : 740, "95.000000" : 764, "99.000000" : 812, "99.500000" : 860, "99.900000" : 8032, "99.950000" : 8096, "99.990000" : 8256 } }, "lat_ns" : { "min" : 1966, "max" : 26734, "mean" : 2287.203672, "stddev" : 621.748655, "N" : 12800 }, "bw_min" : 0, "bw_max" : 0, "bw_agg" : 0.000000, "bw_mean" : 0.000000, "bw_dev" : 0.000000, "bw_samples" : 0, "iops_min" : 0, "iops_max" : 0, "iops_mean" : 0.000000, "iops_stddev" : 0.000000, "iops_samples" : 0 }, "write" : { "io_bytes" : 52428800, "io_kbytes" : 51200, "bw_bytes" : 728177777, "bw" : 711111, "iops" : 177777.777778, "runtime" : 72, "total_ios" : 12800, "short_ios" : 0, "drop_ios" : 0, "slat_ns" : { "min" : 1321, "max" : 24501, "mean" : 1569.442187, "stddev" : 501.083557, "N" : 12800 }, "clat_ns" : { "min" : 678, "max" : 17589, "mean" : 729.085625, "stddev" : 345.327276, "N" : 12800, "percentile" : { "1.000000" : 692, "5.000000" : 692, "10.000000" : 700, "20.000000" : 700, "30.000000" : 708, "40.000000" : 708, "50.000000" : 708, "60.000000" : 716, "70.000000" : 716, "80.000000" : 724, "90.000000" : 740, "95.000000" : 756, "99.000000" : 812, "99.500000" : 900, "99.900000" : 8096, "99.950000" : 8160, "99.990000" : 15808 } }, "lat_ns" : { "min" : 2025, "max" : 25994, "mean" : 2298.527813, "stddev" : 629.810410, "N" : 12800 }, "bw_min" : 0, "bw_max" : 0, "bw_agg" : 0.000000, "bw_mean" : 0.000000, "bw_dev" : 0.000000, "bw_samples" : 0, "iops_min" : 0, "iops_max" : 0, "iops_mean" : 0.000000, "iops_stddev" : 0.000000, "iops_samples" : 0 }, "trim" : { "io_bytes" : 0, "io_kbytes" : 0, "bw_bytes" : 0, "bw" : 0, "iops" : 0.000000, "runtime" : 0, "total_ios" : 0, "short_ios" : 0, "drop_ios" : 0, "slat_ns" : { "min" : 0, "max" : 0, "mean" : 0.000000, "stddev" : 0.000000, "N" : 0 }, "clat_ns" : { "min" : 0, "max" : 0, "mean" : 0.000000, "stddev" : 0.000000, "N" : 0 }, "lat_ns" : { "min" : 0, "max" : 0, "mean" : 0.000000, "stddev" : 0.000000, "N" : 0 }, "bw_min" : 0, "bw_max" : 0, "bw_agg" : 0.000000, "bw_mean" : 0.000000, "bw_dev" : 0.000000, "bw_samples" : 0, "iops_min" : 0, "iops_max" : 0, "iops_mean" : 0.000000, "iops_stddev" : 0.000000, "iops_samples" : 0 }, "sync" : { "total_ios" : 0, "lat_ns" : { "min" : 0, "max" : 0, "mean" : 0.000000, "stddev" : 0.000000, "N" : 0 } }, "job_runtime" : 71, "usr_cpu" : 32.394366, "sys_cpu" : 64.788732, "ctx" : 0, "majf" : 0, "minf" : 10, "iodepth_level" : { "1" : 100.000000, "2" : 0.000000, "4" : 0.000000, "8" : 0.000000, "16" : 0.000000, "32" : 0.000000, ">=64" : 0.000000 }, "iodepth_submit" : { "0" : 0.000000, "4" : 100.000000, "8" : 0.000000, "16" : 0.000000, "32" : 0.000000, "64" : 0.000000, ">=64" : 0.000000 }, "iodepth_complete" : { "0" : 0.000000, "4" : 100.000000, "8" : 0.000000, "16" : 0.000000, "32" : 0.000000, "64" : 0.000000, ">=64" : 0.000000 }, "latency_ns" : { "2" : 0.000000, "4" : 0.000000, "10" : 0.000000, "20" : 0.000000, "50" : 0.000000, "100" : 0.000000, "250" : 0.000000, "500" : 0.000000, "750" : 92.949219, "1000" : 6.773438 }, "latency_us" : { "2" : 0.152344, "4" : 0.000000, "10" : 0.109375, "20" : 0.015625, "50" : 0.000000, "100" : 0.000000, "250" : 0.000000, "500" : 0.000000, "750" : 0.000000, "1000" : 0.000000 }, "latency_ms" : { "2" : 0.000000, "4" : 0.000000, "10" : 0.000000, "20" : 0.000000, "50" : 0.000000, "100" : 0.000000, "250" : 0.000000, "500" : 0.000000, "750" : 0.000000, "1000" : 0.000000, "2000" : 0.000000, ">=2000" : 0.000000 }, "latency_depth" : 1, "latency_target" : 0, "latency_percentile" : 100.000000, "latency_window" : 0 } ] } gilles@lenovo-bureau:/Documents/vscode$ rm -f /tmp/fio-test-file gilles@lenovo-bureau:/Documents/vscode$ iperf3 -c 10.0.0.50 -t 5 iperf3: error - unable to connect to server - server may have stopped running or use a different port, firewall issue, etc.: Connection refused gilles@lenovo-bureau:/Documents/vscode$ iperf3 -c 10.0.0.50 -t 5 Connecting to host 10.0.0.50, port 5201 [ 5] local 10.0.1.169 port 34042 connected to 10.0.0.50 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 53.1 MBytes 445 Mbits/sec 1 375 KBytes
[ 5] 1.00-2.00 sec 57.0 MBytes 478 Mbits/sec 0 477 KBytes
[ 5] 2.00-3.00 sec 60.8 MBytes 510 Mbits/sec 0 566 KBytes
[ 5] 3.00-4.00 sec 62.6 MBytes 525 Mbits/sec 0 645 KBytes
[ 5] 4.00-5.00 sec 61.6 MBytes 515 Mbits/sec 0 716 KBytes


[ ID] Interval Transfer Bitrate Retr [ 5] 0.00-5.00 sec 296 MBytes 496 Mbits/sec 1 sender [ 5] 0.00-5.01 sec 293 MBytes 491 Mbits/sec receiver

iperf Done. gilles@lenovo-bureau:~/Documents/vscode$ iperf3 -c 10.0.0.50 -t 5 -R Connecting to host 10.0.0.50, port 5201 Reverse mode, remote host 10.0.0.50 is sending [ 5] local 10.0.1.169 port 45146 connected to 10.0.0.50 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 49.6 MBytes 416 Mbits/sec
[ 5] 1.00-2.00 sec 48.1 MBytes 404 Mbits/sec
[ 5] 2.00-3.00 sec 45.9 MBytes 385 Mbits/sec
[ 5] 3.00-4.00 sec 51.5 MBytes 432 Mbits/sec
[ 5] 4.00-5.00 sec 51.0 MBytes 428 Mbits/sec


[ ID] Interval Transfer Bitrate Retr [ 5] 0.00-5.01 sec 249 MBytes 417 Mbits/sec 0 sender [ 5] 0.00-5.00 sec 246 MBytes 413 Mbits/sec receiver

iperf Done. gilles@lenovo-bureau:/Documents/vscode$ iperf3 -c 10.0.0.50 -t 5 -J { "start": { "connected": [{ "socket": 5, "local_host": "10.0.1.169", "local_port": 50206, "remote_host": "10.0.0.50", "remote_port": 5201 }], "version": "iperf 3.18", "system_info": "Linux lenovo-bureau 6.12.57+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.57-1 (2025-11-05) x86_64", "timestamp": { "time": "Sun, 07 Dec 2025 18:02:43 GMT", "timesecs": 1765130563 }, "connecting_to": { "host": "10.0.0.50", "port": 5201 }, "cookie": "ejecghjijivkeodhyn5viyfm2nafnaz443zx", "tcp_mss_default": 1448, "target_bitrate": 0, "fq_rate": 0, "sock_bufsize": 0, "sndbuf_actual": 16384, "rcvbuf_actual": 131072, "test_start": { "protocol": "TCP", "num_streams": 1, "blksize": 131072, "omit": 0, "duration": 5, "bytes": 0, "blocks": 0, "reverse": 0, "tos": 0, "target_bitrate": 0, "bidir": 0, "fqrate": 0, "interval": 1 } }, "intervals": [{ "streams": [{ "socket": 5, "start": 0, "end": 1.001087, "seconds": 1.001086950302124, "bytes": 39452672, "bits_per_second": 315278683.73945612, "retransmits": 0, "snd_cwnd": 1811448, "snd_wnd": 2893824, "rtt": 58187, "rttvar": 2322, "pmtu": 1500, "omitted": false, "sender": true }], "sum": { "start": 0, "end": 1.001087, "seconds": 1.001086950302124, "bytes": 39452672, "bits_per_second": 315278683.73945612, "retransmits": 0, "omitted": false, "sender": true } }, { "streams": [{ "socket": 5, "start": 1.001087, "end": 2.000814, "seconds": 0.99972701072692871, "bytes": 30015488, "bits_per_second": 240189473.1496745, "retransmits": 102, "snd_cwnd": 2112632, "snd_wnd": 6225920, "rtt": 54365, "rttvar": 4457, "pmtu": 1500, "omitted": false, "sender": true }], "sum": { "start": 1.001087, "end": 2.000814, "seconds": 0.99972701072692871, "bytes": 30015488, "bits_per_second": 240189473.1496745, "retransmits": 102, "omitted": false, "sender": true } }, { "streams": [{ "socket": 5, "start": 2.000814, "end": 3.000798, "seconds": 0.9999840259552002, "bytes": 32899072, "bits_per_second": 263196780.31715995, "retransmits": 0, "snd_cwnd": 2321144, "snd_wnd": 6225920, "rtt": 63651, "rttvar": 965, "pmtu": 1500, "omitted": false, "sender": true }], "sum": { "start": 2.000814, "end": 3.000798, "seconds": 0.9999840259552002, "bytes": 32899072, "bits_per_second": 263196780.31715995, "retransmits": 0, "omitted": false, "sender": true } }, { "streams": [{ "socket": 5, "start": 3.000798, "end": 4.000786, "seconds": 0.9999880194664, "bytes": 45350912, "bits_per_second": 362811642.67707551, "retransmits": 0, "snd_cwnd": 2503592, "snd_wnd": 6225920, "rtt": 42059, "rttvar": 1399, "pmtu": 1500, "omitted": false, "sender": true }], "sum": { "start": 3.000798, "end": 4.000786, "seconds": 0.9999880194664, "bytes": 45350912, "bits_per_second": 362811642.67707551, "retransmits": 0, "omitted": false, "sender": true } }, { "streams": [{ "socket": 5, "start": 4.000786, "end": 5.001494, "seconds": 1.0007079839706421, "bytes": 56754176, "bits_per_second": 453712187.04428768, "retransmits": 0, "snd_cwnd": 2645496, "snd_wnd": 6225920, "rtt": 47457, "rttvar": 586, "pmtu": 1500, "omitted": false, "sender": true }], "sum": { "start": 4.000786, "end": 5.001494, "seconds": 1.0007079839706421, "bytes": 56754176, "bits_per_second": 453712187.04428768, "retransmits": 0, "omitted": false, "sender": true } }], "end": { "streams": [{ "sender": { "socket": 5, "start": 0, "end": 5.001494, "seconds": 5.001494, "bytes": 204472320, "bits_per_second": 327057987.07346243, "retransmits": 102, "max_snd_cwnd": 2645496, "max_snd_wnd": 6225920, "max_rtt": 63651, "min_rtt": 42059, "mean_rtt": 53143, "sender": true }, "receiver": { "socket": 5, "start": 0, "end": 5.04966, "seconds": 5.001494, "bytes": 204210176, "bits_per_second": 323523050.66083658, "sender": true } }], "sum_sent": { "start": 0, "end": 5.001494, "seconds": 5.001494, "bytes": 204472320, "bits_per_second": 327057987.07346243, "retransmits": 102, "sender": true }, "sum_received": { "start": 0, "end": 5.04966, "seconds": 5.04966, "bytes": 204210176, "bits_per_second": 323523050.66083658, "sender": true }, "cpu_utilization_percent": { "host_total": 1.39268421448378, "host_user": 0, "host_system": 1.3926443249220208, "remote_total": 3.0024393557312581, "remote_user": 0.37536927980190482, "remote_system": 2.6270502727492 }, "sender_tcp_congestion": "cubic", "receiver_tcp_congestion": "bbr" } } gilles@lenovo-bureau:/Documents/vscode$ lscpu Architecture : x86_64 Mode(s) opératoire(s) des processeurs : 32-bit, 64-bit Tailles des adresses: 36 bits physical, 48 bits virtual Boutisme : Little Endian Processeur(s) : 4 Liste de processeur(s) en ligne : 0-3 Identifiant constructeur : GenuineIntel Nom de modèle : Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz Famille de processeur : 6 Modèle : 42 Thread(s) par cœur : 1 Cœur(s) par socket : 4 Socket(s) : 1 Révision : 7 multiplication des MHz du/des CPU(s) : 96% Vitesse maximale du processeur en MHz : 3400,0000 Vitesse minimale du processeur en MHz : 1600,0000 BogoMIPS : 6185,77 Drapeaux : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx rdtscp lm constant_ts c arch_perfmon pebs bts nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4 _2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid xsaveopt dtherm ida arat pln pts vnmi md_clear flush_l1d Fonctionnalités de virtualisation :
Virtualisation : VT-x Caches (somme de toutes) :
L1d : 128 KiB (4 instances) L1i : 128 KiB (4 instances) L2 : 1 MiB (4 instances) L3 : 6 MiB (1 instance) NUMA :
Nœud(s) NUMA : 1 Nœud NUMA 0 de processeur(s) : 0-3 Vulnérabilités :
Gather data sampling : Not affected Indirect target selection : Not affected Itlb multihit : KVM: Mitigation: Split huge pages L1tf : Mitigation; PTE Inversion; VMX conditional cache flushes, SMT disabled Mds : Mitigation; Clear CPU buffers; SMT disabled Meltdown : Mitigation; PTI Mmio stale data : Unknown: No mitigations Reg file data sampling : Not affected Retbleed : Not affected Spec rstack overflow : Not affected Spec store bypass : Mitigation; Speculative Store Bypass disabled via prctl Spectre v1 : Mitigation; usercopy/swapgs barriers and __user pointer sanitization Spectre v2 : Mitigation; Retpolines; IBPB conditional; IBRS_FW; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected Srbds : Not affected Tsa : Not affected Tsx async abort : Not affected Vmscape : Mitigation; IBPB before exit to userspace gilles@lenovo-bureau:/Documents/vscode$ echo "Vendor: $(lscpu | grep 'Vendor ID' | awk '{print $3}')" echo "Model: $(lscpu | grep 'Model name' | sed 's/Model name: *//')" echo "Cores: $(lscpu | grep '^CPU(s):' | awk '{print $2}')" echo "Threads: $(nproc)" echo "Base Freq: $(lscpu | grep 'CPU MHz' | awk '{print $3}')" echo "Max Freq: $(lscpu | grep 'CPU max MHz' | awk '{print $4}')" Vendor: Model: Cores: Threads: 4 Base Freq: Max Freq: gilles@lenovo-bureau:/Documents/vscode$ free -m total utilisé libre partagé tamp/cache disponible Mem: 7771 5847 1479 678 1410 1923 Échange: 7627 4569 3058 gilles@lenovo-bureau:/Documents/vscode$ free -m | grep '^Mem:' | awk '{print $2}' 7771 gilles@lenovo-bureau:/Documents/vscode$ sudo dmidecode -t memory [sudo] Mot de passe de gilles :

dmidecode 3.6

Getting SMBIOS data from sysfs. SMBIOS 2.6 present.

Handle 0x001B, DMI type 16, 15 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: None Maximum Capacity: 32 GB Error Information Handle: No Error Number Of Devices: 4

Handle 0x001E, DMI type 17, 28 bytes Memory Device Array Handle: 0x001B Error Information Handle: No Error Total Width: 64 bits Data Width: 64 bits Size: 2 GB Form Factor: DIMM Set: None Locator: A1_DIMM0 Bank Locator: A1_BANK0 Type: DDR3 Type Detail: Synchronous Speed: 1333 MT/s Manufacturer: Samsung
Serial Number: 93771681
Asset Tag: A1_AssetTagNum0 Part Number: M378B5773DH0-CH9
Rank: 1

Handle 0x0021, DMI type 17, 28 bytes Memory Device Array Handle: 0x001B Error Information Handle: No Error Total Width: 64 bits Data Width: 64 bits Size: 2 GB Form Factor: DIMM Set: None Locator: A1_DIMM1 Bank Locator: A1_BANK1 Type: DDR3 Type Detail: Synchronous Speed: 1333 MT/s Manufacturer: Samsung
Serial Number: 984CD5E6
Asset Tag: A1_AssetTagNum1 Part Number: M378B5773DH0-CH9
Rank: 1

Handle 0x0024, DMI type 17, 28 bytes Memory Device Array Handle: 0x001B Error Information Handle: No Error Total Width: 64 bits Data Width: 64 bits Size: 2 GB Form Factor: DIMM Set: None Locator: A1_DIMM2 Bank Locator: A1_BANK2 Type: DDR3 Type Detail: Synchronous Speed: 1333 MT/s Manufacturer: Kingston
Serial Number: 0F0AF7F2
Asset Tag: A1_AssetTagNum2 Part Number: ACR256X64D3U1333C9 Rank: 2

Handle 0x0027, DMI type 17, 28 bytes Memory Device Array Handle: 0x001B Error Information Handle: No Error Total Width: 64 bits Data Width: 64 bits Size: 2 GB Form Factor: DIMM Set: None Locator: A1_DIMM3 Bank Locator: A1_BANK3 Type: DDR3 Type Detail: Synchronous Speed: 1333 MT/s Manufacturer: Kingston
Serial Number: 0B0A90F3
Asset Tag: A1_AssetTagNum3 Part Number: ACR256X64D3U1333C9 Rank: 2

gilles@lenovo-bureau:/Documents/vscode$ sudo dmidecode -t memory | grep -E 'Size|Type:|Speed:|Manufacturer' Error Correction Type: None Size: 2 GB Type: DDR3 Speed: 1333 MT/s Manufacturer: Samsung
Size: 2 GB Type: DDR3 Speed: 1333 MT/s Manufacturer: Samsung
Size: 2 GB Type: DDR3 Speed: 1333 MT/s Manufacturer: Kingston
Size: 2 GB Type: DDR3 Speed: 1333 MT/s Manufacturer: Kingston
gilles@lenovo-bureau:
/Documents/vscode$ lspci | grep -i vga lspci | grep -i 3d 00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) gilles@lenovo-bureau:/Documents/vscode$ sudo dmidecode -t baseboard | grep -E 'Manufacturer|Product Name' Manufacturer: LENOVO Product Name:
gilles@lenovo-bureau:
/Documents/vscode$ sudo dmidecode -t baseboard

dmidecode 3.6

Getting SMBIOS data from sysfs. SMBIOS 2.6 present.

Handle 0x0002, DMI type 2, 15 bytes Base Board Information Manufacturer: LENOVO Product Name:
Version:
Serial Number: INVALID
Asset Tag:
Features: Board is a hosting board Board is replaceable Location In Chassis: To be filled by O.E.M. Chassis Handle: 0x0003 Type: Motherboard Contained Object Handles: 0

Handle 0x0014, DMI type 10, 6 bytes On Board Device Information Type: Video Status: Enabled Description: Onboard Video

Handle 0x0015, DMI type 10, 6 bytes On Board Device Information Type: Ethernet Status: Enabled Description: Onboard LAN

Handle 0x0016, DMI type 10, 6 bytes On Board Device Information Type: Sound Status: Enabled Description: Onboard Audio

Handle 0x0017, DMI type 10, 6 bytes On Board Device Information Type: SATA Controller Status: Enabled Description: Sata Controller

Handle 0x0057, DMI type 41, 11 bytes Onboard Device Reference Designation: Onboard IGD Type: Video Status: Enabled Type Instance: 1 Bus Address: 0000:00:02.0

Handle 0x0058, DMI type 41, 11 bytes Onboard Device Reference Designation: Onboard LAN Type: Ethernet Status: Enabled Type Instance: 1 Bus Address: 0000:00:19.0

Handle 0x0059, DMI type 41, 11 bytes Onboard Device Reference Designation: Onboard 1394 Type: Other Status: Enabled Type Instance: 1 Bus Address: 0000:03:1c.2

Handle 0x0062, DMI type 10, 6 bytes On Board Device Information Type: Other Status: Disabled Description: IBM Embedded Security Hardware Type 3

gilles@lenovo-bureau:/Documents/vscode$ cat /etc/os-release uname -r # kernel version uname -m # architecture PRETTY_NAME="Debian GNU/Linux 13 (trixie)" NAME="Debian GNU/Linux" VERSION_ID="13" VERSION="13 (trixie)" VERSION_CODENAME=trixie DEBIAN_VERSION_FULL=13.2 ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/" 6.12.57+deb13-amd64 x86_64 gilles@lenovo-bureau:/Documents/vscode$ lsblk -o NAME,SIZE,TYPE,MOUNTPOINT NAME SIZE TYPE MOUNTPOINT loop1 55,5M loop /snap/core18/2976 loop2 55,5M loop /snap/core18/2952 loop3 63,8M loop /snap/core20/2669 loop4 164,8M loop /snap/gnome-3-28-1804/198 loop5 4K loop /snap/bare/5 loop6 50,8M loop /snap/snapd/25202 loop7 91,7M loop /snap/gtk-common-themes/1535 loop8 56,5M loop /snap/mqtt-explorer/29 loop9 92,5M loop /snap/mqtt-explorer/31 loop10 50,9M loop /snap/snapd/25577 loop11 63,8M loop /snap/core20/2682 sda 447,1G disk ├─sda1 7,4G part [SWAP] ├─sda2 1K part └─sda5 439,7G part / sdb 0B disk gilles@lenovo-bureau:~/Documents/vscode$ sudo smartctl -i /dev/sda smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.12.57+deb13-amd64] (local build) Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION === Model Family: Phison Driven SSDs Device Model: KINGSTON SA400S37480G Serial Number: 50026B77833E25E3 LU WWN Device Id: 5 0026b7 7833e25e3 Firmware Version: SBFKK1B3 User Capacity: 480103981056 bytes [480 GB] Sector Size: 512 bytes logical/physical Rotation Rate: Solid State Device TRIM Command: Available Device is: In smartctl database 7.3/5528 ATA Version is: ACS-3 T13/2161-D revision 4 SATA Version is: SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s) Local Time is: Sun Dec 7 19:07:51 2025 CET SMART support is: Available - device has SMART capability. SMART support is: Enabled

gilles@lenovo-bureau:/Documents/vscode$ sudo dmesg | grep -i sdb [ 3.311044] sd 6:0:0:0: [sdb] Media removed, stopped polling [ 3.311324] sd 6:0:0:0: [sdb] Attached SCSI removable disk gilles@lenovo-bureau:/Documents/vscode$ sudo smartctl -i /dev/sdb smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.12.57+deb13-amd64] (local build) Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

/dev/sdb: Unknown USB bridge [0x05e3:0x0745 (0x904)] Please specify device type with the -d option.

Use smartctl -h to get a usage summary

gilles@lenovo-bureau:/Documents/vscode$ sudo fdisk -l /dev/sdb fdisk: impossible d'ouvrir /dev/sdb: Aucun médium trouvé gilles@lenovo-bureau:/Documents/vscode$ lsblk -J # JSON format { "blockdevices": [ { "name": "loop1", "maj:min": "7:1", "rm": false, "size": "55,5M", "ro": true, "type": "loop", "mountpoints": [ "/snap/core18/2976" ] },{ "name": "loop2", "maj:min": "7:2", "rm": false, "size": "55,5M", "ro": true, "type": "loop", "mountpoints": [ "/snap/core18/2952" ] },{ "name": "loop3", "maj:min": "7:3", "rm": false, "size": "63,8M", "ro": true, "type": "loop", "mountpoints": [ "/snap/core20/2669" ] },{ "name": "loop4", "maj:min": "7:4", "rm": false, "size": "164,8M", "ro": true, "type": "loop", "mountpoints": [ "/snap/gnome-3-28-1804/198" ] },{ "name": "loop5", "maj:min": "7:5", "rm": false, "size": "4K", "ro": true, "type": "loop", "mountpoints": [ "/snap/bare/5" ] },{ "name": "loop6", "maj:min": "7:6", "rm": false, "size": "50,8M", "ro": true, "type": "loop", "mountpoints": [ "/snap/snapd/25202" ] },{ "name": "loop7", "maj:min": "7:7", "rm": false, "size": "91,7M", "ro": true, "type": "loop", "mountpoints": [ "/snap/gtk-common-themes/1535" ] },{ "name": "loop8", "maj:min": "7:8", "rm": false, "size": "56,5M", "ro": true, "type": "loop", "mountpoints": [ "/snap/mqtt-explorer/29" ] },{ "name": "loop9", "maj:min": "7:9", "rm": false, "size": "92,5M", "ro": true, "type": "loop", "mountpoints": [ "/snap/mqtt-explorer/31" ] },{ "name": "loop10", "maj:min": "7:10", "rm": false, "size": "50,9M", "ro": true, "type": "loop", "mountpoints": [ "/snap/snapd/25577" ] },{ "name": "loop11", "maj:min": "7:11", "rm": false, "size": "63,8M", "ro": true, "type": "loop", "mountpoints": [ "/snap/core20/2682" ] },{ "name": "sda", "maj:min": "8:0", "rm": false, "size": "447,1G", "ro": false, "type": "disk", "mountpoints": [], "children": [ { "name": "sda1", "maj:min": "8:1", "rm": false, "size": "7,4G", "ro": false, "type": "part", "mountpoints": [ "[SWAP]" ] },{ "name": "sda2", "maj:min": "8:2", "rm": false, "size": "1K", "ro": false, "type": "part", "mountpoints": [] },{ "name": "sda5", "maj:min": "8:5", "rm": false, "size": "439,7G", "ro": false, "type": "part", "mountpoints": [ "/" ] } ] },{ "name": "sdb", "maj:min": "8:16", "rm": true, "size": "0B", "ro": false, "type": "disk", "mountpoints": [] } ] } gilles@lenovo-bureau:/Documents/vscode$ ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 44:37:e6:6b:53:86 brd ff:ff:ff:ff:ff:ff altname enp0s25 altname enx4437e66b5386 3: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 62:a5:f7:52:3e:06 brd ff:ff:ff:ff:ff:ff permaddr 14:f6:d8:67:27:b7 altname wlx14f6d86727b7 4: br-7dbed573109c: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default link/ether 96:dd:6f:58:69:7a brd ff:ff:ff:ff:ff:ff 5: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default link/ether fa:4b:12:7b:47:24 brd ff:ff:ff:ff:ff:ff 6: veth146accf@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default link/ether e2:6e:84:f2:1f:f9 brd ff:ff:ff:ff:ff:ff link-netnsid 0 gilles@lenovo-bureau:/Documents/vscode$ ip -br link show | grep UP lo UNKNOWN 00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP> eno1 UP 44:37:e6:6b:53:86 <BROADCAST,MULTICAST,UP,LOWER_UP> br-7dbed573109c DOWN 96:dd:6f:58:69:7a <NO-CARRIER,BROADCAST,MULTICAST,UP> docker0 UP fa:4b:12:7b:47:24 <BROADCAST,MULTICAST,UP,LOWER_UP> veth146accf@if2 UP e2:6e:84:f2:1f:f9 <BROADCAST,MULTICAST,UP,LOWER_UP> gilles@lenovo-bureau:~/Documents/vscode$ ChatGPT a dit :

Je vais te faire une lecture “profil complet” de cette machine + les chiffres importants à retenir, puis corriger tes commandes de collecte (lscpu, etc.).

  1. Profil matériel détecté

CPU

Modèle : Intel Core i5-2400

Architecture : Sandy Bridge, 4 cœurs / 4 threads, pas dHyper-Threading.

Fréquences :

    Min : 1,6 GHz

    Max/Turbo : 3,4 GHz

VT-x présent, AVX présent, CPU assez ancien mais correct pour serveur light / petites VM / Docker.

RAM

Total : ~8 Go (free -m → 7771 Mo utilisables).

Slots : 4 × 2 Go DDR3-1333.

DMI :

    2 × Samsung 2 Go DDR3-1333

    2 × Kingston 2 Go DDR3-1333

Capacité max carte mère : 32 Go.

Stockage

SSD : KINGSTON SA400S37480G 480 Go, SATA 6 Gb/s.

Partitions :

    sda1 : 7,4 Go swap

    sda5 : 439,7 Go /

sdb :

    périphérique USB / lecteur de carte :
    sd 6:0:0:0: [sdb] Media removed, stopped polling
    fdisk: Aucun médium trouvé
    → cest un lecteur sans support inséré, à ignorer comme “disque” réel.

OS / Réseau

OS : Debian 13 (trixie), kernel 6.12.57+deb13-amd64.

Réseau :

    eno1 : Ethernet 1 Gbit/s (Onboard Intel), UP.

    Wi-Fi présent mais DOWN.

    Interfaces Docker (docker0, bridge br-…).
  1. Bench CPU (sysbench) Multithread (4 threads)

    cpu-max-prime=10000 → ~33003400 events/s

    cpu-max-prime=20000 → ~12001275 events/s

Donc :

Quand tu doubles la charge (10000 → 20000), tu divises grosso modo les events/s par ~2,7  ce qui est cohérent vu la complexité des tests de primalité.

Latence moyenne à 20000 : ~3,13,3 ms par event, 95ᵉ percentile 47 ms → CPU stable, peu de “spikes”.

Monothread (1 thread, 20000)

events per second: 357 events/s

Latence : ~2,8 ms, 95ᵉ percentile ~2,9 ms → encore plus stable que le multi-thread.

Ce que ça donne comme image

Perf monothread : ~357 events/s → correct pour un i5 Sandy Bridge.

Scaling 1 → 4 threads : 357 → ~1200 events/s → ≈ 3,3× au lieu de 4× parfait.

    Normal : contention caches, scheduler, fréquence qui baisse un peu à pleine charge.

👉 Pour ton futur outil, les valeurs à garder :

cpu_max_prime

threads

events_per_second

latency_avg_ms

latency_95th_ms

éventuellement events_per_second_1thread pour comparer mono vs multi.
  1. Bench mémoire (sysbench memory)

    512 MiB : 13 806 MiB/s

    1 GiB : 15 213 MiB/s

    Autre run : 13 200 MiB/s

Donc on tourne autour de 1315 GiB/s en écriture.

Pour de la DDR3-1333 dual-channel (théorique ≈ 21,3 Go/s), cest normal : on est à ~6070 % du théorique, ce qui est typique.

👉 À retenir : “RAM write ~14 GiB/s”. 4. Bench disque (fio)

Attention : tu utilises /tmp/fio-test-file. Sur Debian 13, /tmp est généralement un tmpfs en RAM → tu benches la RAM, pas le SSD, même avec --direct=1 tu restes sur un FS spécial.

Résultats :

Seq read 1 MiB, 1 GiB :

    ~2590 MiB/s (~2,6 Go/s).

Seq write 1 MiB, 1 GiB :

    ~1430 MiB/s (~1,5 Go/s).

RandRW 4k, 100 MiB :

    ~685 MiB/s lecture + écriture, ~175k IOPS.

Ces chiffres sont impossibles pour un SATA A400 (limite physique ~500550 Mo/s, 6080k IOPS max). Donc cest bien le tmpfs RAM qui est benché.

👉 Pour tester le SSD réel, il faudra utiliser un fichier sur / (ext4 sur sda5), par ex :

mkdir -p /fio-ssd-test fio --name=seqread
--ioengine=libaio
--rw=read
--bs=1M
--size=4G
--numjobs=1
--direct=1
--filename=
/fio-ssd-test/fio-test-file

Même chose pour write / randrw. 5. Bench réseau (iperf3)

Normal (client→serveur) :
~0,5 Gbit/s (496 Mbit/s, retrans très faibles).

Reverse (serveur→client) :
~0,4 Gbit/s (413417 Mbit/s).

Run JSON : ~0,32 Gbit/s avec un peu de retrans (102 sur un intervalle).

Donc :

Tu es entre 0,3 et 0,5 Gbit/s sur un lien Gigabit.

Ce nest pas saturé (1 Gbit/s), mais correct :

    peut être limité par lautre machine (10.0.0.50),

    câble, switch, réglage TCP (Cubic vs BBR), charge CPU côté serveur.

👉 Pour ton app, les champs utiles :

bandwidth_tx_mbps

bandwidth_rx_mbps

retransmits

tcp_congestion_algo (ici cubic/bbr).
  1. Pourquoi tes echo "Vendor: $(lscpu | grep 'Vendor ID' ...) sont vides

Ton lscpu est localisé en français :

Pas de "Vendor ID" mais "Identifiant constructeur".

Pas de "Model name" mais "Nom de modèle".

Pas de "CPU(s):" mais "Processeur(s)".

Pas de "CPU max MHz" mais "Vitesse maximale du processeur en MHz".

Donc tes grep 'Vendor ID' et autres ne trouvent rien → champs vides. Solution 1 : forcer langlais pour parser proprement

LC_ALL=C lscpu | grep '^Vendor ID:' | awk -F: '{gsub(/^ +/,"",$2); print $2}' LC_ALL=C lscpu | grep '^Model name:' | sed 's/^Model name:[ \t]*//' LC_ALL=C lscpu | grep '^CPU(s):' | awk -F: '{gsub(/^ +/,"",$2); print $2}' LC_ALL=C lscpu | grep '^CPU max MHz:' | awk -F: '{gsub(/^ +/,"",$2); print $2}' LC_ALL=C lscpu | grep '^CPU min MHz:' | awk -F: '{gsub(/^ +/,"",$2); print $2}'

Exemple compact :

echo "Vendor: $(LC_ALL=C lscpu | awk -F: '/^Vendor ID:/ {gsub(/^ +/,"",$2); print $2}')" echo "Model: $(LC_ALL=C lscpu | sed -n 's/^Model name:[ \t]*//p')" echo "Cores: $(LC_ALL=C lscpu | awk -F: '/^CPU(s):/ {gsub(/^ +/,"",$2); print $2}')"

Solution 2 (si tu veux du JSON) : lscpu -J + jq

Comme tu as jq :

LC_ALL=C lscpu -J | jq -r '.lscpu[] | select(.field=="Model name:") | .data' LC_ALL=C lscpu -J | jq -r '.lscpu[] | select(.field=="Vendor ID:") | .data'

Parfait pour ton futur collecteur hardware. 7. Résumé “fiche machine” exploitable

Si je condense tout ce que tu viens de mesurer :

CPU : Intel i5-2400 (4C/4T, 3,1/3,4 GHz)

    sysbench 1T (prime 20000) : ~357 events/s

    sysbench 4T (prime 20000) : ~12001270 events/s

    sysbench 4T (prime 10000) : ~33003400 events/s

RAM : 8 Go DDR3-1333 (4×2 Go), bande passante écriture ~14 GiB/s.

Disque : Kingston A400 480 Go SATA (à bench à nouveau hors /tmp).

Réseau : 0,30,5 Gbit/s iperf3 sur lien 1 Gbit/s.

Divers : lecteur USB/SD vide exposé comme /dev/sdb (removable, 0B).

Si tu veux, je peux te proposer un petit JSON “standardisé” qui regroupe tous ces champs comme gabarit pour ton futur script de collecte. Vous avez dit : mkdir -p /fio-ssd-test fio --name=seqread
--ioengine=libaio
--rw=read
--bs=1M
--size=4G
--numjobs=1
--direct=1
--filename=
/fio-ssd-test/fio-test-file seqread: (g=0): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=1 fio-3.39 Starting 1 process seqread: Laying out IO file (1 file / 4096MiB) Jobs: 1 (f=1): [R(1)][100.0%][r=339MiB/s][r=339 IOPS][eta 00m:00s] seqread: (groupid=0, jobs=1): err= 0: pid=200179: Sun Dec 7 19:14:47 2025 read: IOPS=340, BW=341MiB/s (357MB/s)(4096MiB/12014msec) slat (usec): min=43, max=556, avg=158.69, stdev=37.00 clat (msec): min=2, max=115, avg= 2.77, stdev= 2.88 lat (msec): min=2, max=115, avg= 2.93, stdev= 2.89 clat percentiles (msec): | 1.00th=[ 3], 5.00th=[ 3], 10.00th=[ 3], 20.00th=[ 3], | 30.00th=[ 3], 40.00th=[ 3], 50.00th=[ 3], 60.00th=[ 3], | 70.00th=[ 3], 80.00th=[ 3], 90.00th=[ 3], 95.00th=[ 3], | 99.00th=[ 4], 99.50th=[ 5], 99.90th=[ 53], 99.95th=[ 54], | 99.99th=[ 116] bw ( KiB/s): min=260096, max=403456, per=100.00%, avg=349354.67, stdev=31978.90, samples=24 iops : min= 254, max= 394, avg=341.17, stdev=31.23, samples=24 lat (msec) : 4=99.29%, 10=0.42%, 20=0.07%, 50=0.10%, 100=0.07% lat (msec) : 250=0.05% cpu : usr=0.56%, sys=5.98%, ctx=4103, majf=0, minf=265 IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% issued rwts: total=4096,0,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs): READ: bw=341MiB/s (357MB/s), 341MiB/s-341MiB/s (357MB/s-357MB/s), io=4096MiB (4295MB), run=12014-12014msec

Disk stats (read/write): sda: ios=8129/107, sectors=8276848/2272, merge=31/128, ticks=20107/1243, in_queue=21716, util=96.46% gilles@lenovo-bureau:/Documents/vscode$ echo "Vendor: $(LC_ALL=C lscpu | awk -F: '/^Vendor ID:/ {gsub(/^ +/,"",$2); print $2}')" echo "Model: $(LC_ALL=C lscpu | sed -n 's/^Model name:[ \t]*//p')" echo "Cores: $(LC_ALL=C lscpu | awk -F: '/^CPU(s):/ {gsub(/^ +/,"",$2); print $2}')" Vendor: GenuineIntel Model: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz Cores:
gilles@lenovo-bureau:
/Documents/vscode$ ChatGPT a dit :

Lecture du test FIO sur le SSD

Là tu testes enfin bien le SSD réel (fichier sur ~/fio-ssd-test → donc sur /dev/sda).

Résultat important :

READ: bw=341MiB/s (357MB/s), io=4096MiB, run=12014msec ... Disk stats: sda: ... util=96.46%

À retenir :

Débit séquentiel lecture ≈ 340 MiB/s (~357 Mo/s).

Disque utilisé à ~96 % pendant le test → tu es limité par le SSD, pas par le CPU.

Pour un Kingston A400 SATA, cest cohérent si :

    le disque est un peu usé,

    il y a de la fragmentation,

    tu passes par ext4 + overhead du FS,

    tu lis 4 Gio dun coup avec iodepth=1 (peu de requêtes en vol).

En pratique, on voit souvent :

350450 Mo/s en réel sur ce genre de SSD SATA,

500550 Mo/s au mieux dans des conditions idéales.

Donc ton 341 MiB/s est tout à fait crédible pour cette machine.

Pourquoi Cores: est vide dans ton echo

Commande :

echo "Vendor: $(LC_ALL=C lscpu | awk -F: '/^Vendor ID:/ {gsub(/^ +/,"",$2); print $2}')" echo "Model: $(LC_ALL=C lscpu | sed -n 's/^Model name:[ \t]*//p')" echo "Cores: $(LC_ALL=C lscpu | awk -F: '/^CPU(s):/ {gsub(/^ +/,"",$2); print $2}')"

Résultat :

Vendor: GenuineIntel Model: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz Cores:

Donc :

Vendor OK → Vendor ID: est bien trouvé.

Model OK → Model name: aussi.

CPU(s): nest pas trouvé par awk → résultat vide.

Les causes possibles :

Sous LC_ALL=C, il est possible que le champ sappelle autrement (ex. CPU(s): vs CPU(s) avec espace ou autre).

Il peut y avoir des caractères bizarres (tabulation, non-breaking space) qui font que le ^CPU(s): ne matche pas exactement.

Tu peux le vérifier en faisant :

LC_ALL=C lscpu | grep 'CPU'

Tu verras exactement la forme du champ.

Méthode plus robuste avec lscpu -J + jq

Comme tu as déjà jq, le plus propre pour ton futur script de collecte, cest dutiliser le JSON de lscpu :

LC_ALL=C lscpu -J | jq -r '.lscpu[] | select(.field=="CPU(s):") | .data'

Tu peux donc écrire :

echo "Vendor: $(LC_ALL=C lscpu -J | jq -r '.lscpu[] | select(.field=="Vendor ID:") | .data')" echo "Model: $(LC_ALL=C lscpu -J | jq -r '.lscpu[] | select(.field=="Model name:") | .data')" echo "Cores: $(LC_ALL=C lscpu -J | jq -r '.lscpu[] | select(.field=="CPU(s):") | .data')"

Là :

tu ne dépends plus des espaces,

tu ne dépends plus du nombre de colonnes,

tu gardes juste le champ .field tel que lscpu le donne en anglais.

Si tu veux, je peux te proposer un petit script bash qui sort directement un JSON complet du type :

{ "cpu": { ... }, "memory": { ... }, "disk": { ... }, "network": { ... }, "benchmarks": { ... } }

en réutilisant tous les tests que tu viens de lancer.

ChatGPT peut commettre des erreurs. Il est recommandé de vérifier les informations importantes. Voir les préférences en matière de cookies.