Auteur Sujet: Utilisation du CPU dans un terminal  (Lu 3588 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne blonde26

  • Nouvel inscrit
  • Messages: 9
  • +0/-0
Utilisation du CPU dans un terminal
« le: 11 avril 2018 à 22:04:10 »
Tout à bord coucou,

Voila il y a quelques semaines j'ai commencer à m'interesser activement au processeur, j'ai constater que quand je demande de la vitesse de calcule à mon terminal  il n'utilise que 1 coeur du CPU.

Je suis sur Kali Gnome v° 3.26.2

J'aimerai savoir pourquoi cela est ainsi et s'il y avait la possibilité de les additions, (comme on dit l'union fait la force;) ).

Voili Voilou

Hors ligne _john_doe

  • Contributeur de Kali-linux.fr
  • Membre VIP
  • *****
  • Messages: 606
  • +36/-5
Re : Utilisation du CPU dans un terminal
« Réponse #1 le: 12 avril 2018 à 12:04:38 »
Salut,
Tout dabord tu parles de coeur ou de thread ? c'est different.
La commande suivante te donnera les  2 :
root@kali:~# dmidecode --type processor
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0004, DMI type 4, 48 bytes
Processor Information
Socket Designation: U3E1
Type: Central Processor
Family: Core i7
Manufacturer: Intel(R) Corporation
ID: E9 06 08 00 FF FB EB BF
Signature: Type 0, Family 6, Model 142, Stepping 9
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
Voltage: 0.9 V
External Clock: 100 MHz
Max Speed: 8300 MHz
Current Speed: 3100 MHz
Status: Populated, Enabled
Upgrade: Other
L1 Cache Handle: 0x0005
L2 Cache Handle: 0x0006
L3 Cache Handle: 0x0007
Serial Number: To Be Filled By O.E.M.
Asset Tag: To Be Filled By O.E.M.
Part Number: To Be Filled By O.E.M.
[color=red]Core Count: 2[/color]
Core Enabled: 2
[color=red]Thread Count: 4[/color]
Characteristics:
64-bit capable
Multi-Core
Hardware Thread
Execute Protection
Enhanced Virtualization
Power/Performance Control

Tu peux obtenir la meme information avec :
root@kali:~# cat /proc/cpuinfo | grep "core id"
core id : 0
core id : 1
core id : 0
core id : 1
Je vois que j'ai 2 coeurs physiques numerotés 0 et 1

root@kali:~# cat /proc/cpuinfo | grep "processor"
processor : 0
processor : 1
processor : 2
processor : 3

Et que j'ai 4 threads (processors) numerotés de 0 à 3. Donc 2 par coeur physique.

Quand tu parles de vitesse de calcul qu'entends tu ? ton nombre de flops ?
Comment l'a tu testé ?

Hors ligne coyotus

  • Contributeur de Kali-linux.fr
  • Membre Elite
  • *****
  • Messages: 3794
  • +264/-30
  • IN GNU WE TRUST
    • Groupe d'Utilisateurs de GNU/Linux...
Re : Re : Utilisation du CPU dans un terminal
« Réponse #2 le: 12 avril 2018 à 19:17:09 »
Salut,
Tout dabord tu parles de coeur ou de thread ? c'est different.
La commande suivante te donnera les  2 :
root@kali:~# dmidecode --type processor
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0004, DMI type 4, 48 bytes
Processor Information
Socket Designation: U3E1
Type: Central Processor
Family: Core i7
Manufacturer: Intel(R) Corporation
ID: E9 06 08 00 FF FB EB BF
Signature: Type 0, Family 6, Model 142, Stepping 9
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
Voltage: 0.9 V
External Clock: 100 MHz
Max Speed: 8300 MHz
Current Speed: 3100 MHz
Status: Populated, Enabled
Upgrade: Other
L1 Cache Handle: 0x0005
L2 Cache Handle: 0x0006
L3 Cache Handle: 0x0007
Serial Number: To Be Filled By O.E.M.
Asset Tag: To Be Filled By O.E.M.
Part Number: To Be Filled By O.E.M.
[color=red]Core Count: 2[/color]
Core Enabled: 2
[color=red]Thread Count: 4[/color]
Characteristics:
64-bit capable
Multi-Core
Hardware Thread
Execute Protection
Enhanced Virtualization
Power/Performance Control

Tu peux obtenir la meme information avec :
root@kali:~# cat /proc/cpuinfo | grep "core id"
core id : 0
core id : 1
core id : 0
core id : 1
Je vois que j'ai 2 coeurs physiques numerotés 0 et 1

root@kali:~# cat /proc/cpuinfo | grep "processor"
processor : 0
processor : 1
processor : 2
processor : 3

Et que j'ai 4 threads (processors) numerotés de 0 à 3. Donc 2 par coeur physique.

Quand tu parles de vitesse de calcul qu'entends tu ? ton nombre de flops ?
Comment l'a tu testé ?

lscpu également :)

Pour utiliser tout les coeur il existe "taskset" ;)

Hors ligne blonde26

  • Nouvel inscrit
  • Messages: 9
  • +0/-0
Re : Utilisation du CPU dans un terminal
« Réponse #3 le: 13 avril 2018 à 19:09:35 »
Donc si j'ai tout compris, je possède 6 coeurs physique et 2 processeurs par coeur physique?

Pour être plus explicite sur la vitesse de calcule, je test un brutforce sur un fichier zip que j''ai codé pour prouvé à mes cammarde de classe la dangeureusité d'un mot de passe trop "simple", mais quand je lance ma commande dans le terminal, celuis-ci n'utilise que un seul CPU, j'observe cela dans le "moniteur système".

Je vais essaye de lire encore voir si je peux faire quelque chose avec taskset.

Voila les retours des commandes.

root@Windows:~# dmidecode --type processor
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 3.0 present.

Handle 0x0072, DMI type 4, 42 bytes
Processor Information
Socket Designation: SOCKET 2011
Type: Central Processor
Family: Xeon
Manufacturer: Intel
ID: F1 06 04 00 FF FB EB BF
Signature: Type 0, Family 6, Model 79, Stepping 1
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Core(TM) i7-6850K CPU @ 3.60GHz
Voltage: 1.2 V
External Clock: 100 MHz
Max Speed: 4000 MHz
Current Speed: 3600 MHz
Status: Populated, Enabled
Upgrade: Socket LGA2011-3
L1 Cache Handle: 0x006F
L2 Cache Handle: 0x0070
L3 Cache Handle: 0x0071
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Core Count: 6
Core Enabled: 6
Thread Count: 12
Characteristics:
64-bit capable
Multi-Core
Hardware Thread
Execute Protection
Enhanced Virtualization
Power/Performance Control

root@Windows:~# cat /proc/cpuinfo | grep "core id"
core id : 0
core id : 1
core id : 2
core id : 3
core id : 4
core id : 5
core id : 0
core id : 1
core id : 2
core id : 3
core id : 4
core id : 5
root@Windows:~# cat /proc/cpuinfo | grep "processor"
processor : 0
processor : 1
processor : 2
processor : 3
processor : 4
processor : 5
processor : 6
processor : 7
processor : 8
processor : 9
processor : 10
processor : 11
root@Windows:~# lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              12
On-line CPU(s) list: 0-11
Thread(s) per core:  2
Core(s) per socket:  6
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               79
Model name:          Intel(R) Core(TM) i7-6850K CPU @ 3.60GHz
Stepping:            1
CPU MHz:             3597.962
CPU max MHz:         4000.0000
CPU min MHz:         1200.0000
BogoMIPS:            7195.92
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            15360K
NUMA node0 CPU(s):   0-11
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 invpcid_single pti intel_ppin intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a rdseed adx smap xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts

Hors ligne coyotus

  • Contributeur de Kali-linux.fr
  • Membre Elite
  • *****
  • Messages: 3794
  • +264/-30
  • IN GNU WE TRUST
    • Groupe d'Utilisateurs de GNU/Linux...
Re : Utilisation du CPU dans un terminal
« Réponse #4 le: 13 avril 2018 à 19:51:10 »
6 cœur en hypertrading, voilà pourquoi il détecte 11 processeur.

Hors ligne blonde26

  • Nouvel inscrit
  • Messages: 9
  • +0/-0
Re : Utilisation du CPU dans un terminal
« Réponse #5 le: 13 avril 2018 à 22:43:48 »
Oui exactement  :D

J'ai donc étudié plus en profondeur la commande "taskset" mais rien à faire il continue à fonctionner que sur un seul CPU.

root@Windows:~# taskset -cp 11 1918
pid 1918's current affinity list: 11
pid 1918's new affinity list: 11

root@Windows:~# top -p 1918
top - 00:46:23 up 50 min,  1 user,  load average: 1.54, 1.46, 1.31
Tasks:   1 total,   1 running,   0 sleeping,   0 stopped,   0 zombie
%Cpu(s): 11.8 us,  0.5 sy,  0.0 ni, 87.4 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem : 24594748 total, 21342892 free,  1630052 used,  1621804 buff/cache
KiB Swap: 25075708 total, 25075708 free,        0 used. 22663112 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                     
 1918 root      20   0    4240    624    560 R  99.7  0.0  36:59.21 fcrackzip   

En effet j'ai localisé le PID et luis ordonne d'utilisé tous les CPU pour que ma recherche avec fcrackzip soit plus rapide, mais il continue de n'en utilisé que 1 !!!! Je découvre à l'instant que le problème pourrai venir de la " capacité CAP_SYS_NICE".

J'ai donc modifié la politesse du processus (renice) à -20.

root@Windows:~# renice -20 1836
1836 (process ID) old priority -20, new priority -20

root@Windows:~# top -p 1836
top - 03:45:03 up 54 min,  1 user,  load average: 1.44, 1.31, 1.16
Tasks:   1 total,   1 running,   0 sleeping,   0 stopped,   0 zombie
%Cpu(s):  8.2 us,  0.3 sy,  0.0 ni, 91.5 id,  0.0 wa,  0.0 hi,  0.1 si,  0.0 st
KiB Mem : 24594748 total, 21653580 free,  1400480 used,  1540688 buff/cache
KiB Swap: 25075708 total, 25075708 free,        0 used. 22766784 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND     
 1836 root       0 -20    4240    712    648 R 100.0  0.0  45:07.70 fcrackzip

root@Windows:~# taskset -cp 1,2,3,4 1836
pid 1836's current affinity list: 1-4
pid 1836's new affinity list: 1-4

root@Windows:~# top -p 1836
top - 03:46:31 up 55 min,  1 user,  load average: 1.49, 1.38, 1.20
Tasks:   1 total,   1 running,   0 sleeping,   0 stopped,   0 zombie
%Cpu(s): 11.4 us,  1.0 sy,  0.0 ni, 87.3 id,  0.0 wa,  0.0 hi,  0.4 si,  0.0 st
KiB Mem : 24594748 total, 21651376 free,  1400128 used,  1543244 buff/cache
KiB Swap: 25075708 total, 25075708 free,        0 used. 22764588 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND     
 1836 root       0 -20    4240    712    648 R 100.0  0.0  46:35.89 fcrackzip

Je ne sais désormais plus vers quoi me tourner, avez-vous des idées.
« Modifié: 14 avril 2018 à 01:49:16 par blonde26 »

Hors ligne coyotus

  • Contributeur de Kali-linux.fr
  • Membre Elite
  • *****
  • Messages: 3794
  • +264/-30
  • IN GNU WE TRUST
    • Groupe d'Utilisateurs de GNU/Linux...
Re : Utilisation du CPU dans un terminal
« Réponse #6 le: 14 avril 2018 à 07:36:57 »
1 tâche en cours ne veux pas dire que tu utilises un seul coeur, regarde avec htop plutôt que top plus parlant à ce niveau.

Hors ligne blonde26

  • Nouvel inscrit
  • Messages: 9
  • +0/-0
Re : Utilisation du CPU dans un terminal
« Réponse #7 le: 14 avril 2018 à 10:05:00 »
Oui mais j'ouvre "Moniteur système" dans historique d'utilisation du CPU je n'ai que un seul CPU qui tourne à 100% donc je n'utilise pas toute la vitesse de caclcule de mon ordinateur?

Hors ligne coyotus

  • Contributeur de Kali-linux.fr
  • Membre Elite
  • *****
  • Messages: 3794
  • +264/-30
  • IN GNU WE TRUST
    • Groupe d'Utilisateurs de GNU/Linux...
Re : Utilisation du CPU dans un terminal
« Réponse #8 le: 15 avril 2018 à 11:41:12 »
Utilise htop, je ne connais pas le moniteur système et poste le retour ici (capture ou autre)

Hors ligne blonde26

  • Nouvel inscrit
  • Messages: 9
  • +0/-0
Re : Utilisation du CPU dans un terminal
« Réponse #9 le: 15 avril 2018 à 19:59:51 »
Je vous transmet une photo de ma commande "fcrackzip" ainsi que l'utilisation de mon processeur



On voit clairement qu'il n'utilise que un seul CPU. Je me lance lance maintenant avec "htop".


« Modifié: 15 avril 2018 à 20:03:03 par blonde26 »

Hors ligne coyotus

  • Contributeur de Kali-linux.fr
  • Membre Elite
  • *****
  • Messages: 3794
  • +264/-30
  • IN GNU WE TRUST
    • Groupe d'Utilisateurs de GNU/Linux...
Re : Utilisation du CPU dans un terminal
« Réponse #10 le: 16 avril 2018 à 07:18:45 »
et avec taskset , car là tu as lancé fckrackzip seul.

taskset -c 0-5 fckrackzip etc...
« Modifié: 16 avril 2018 à 07:21:05 par coyotus »

Hors ligne blonde26

  • Nouvel inscrit
  • Messages: 9
  • +0/-0
Re : Utilisation du CPU dans un terminal
« Réponse #11 le: 22 avril 2018 à 11:05:31 »
Oui je l'ai essayé, il me dit que c'est tout bon mais quand je contrôle avec "top" il n'utilise toujours que un seul processeur.

Je l'ai également essayé avec toute la commande en une fois mais y a rien à faire il ne veut pas utilisé les autres processeur?

root@Windows:~# taskset -c 0-5 fckrackzip -v -u -b -c aA1 -l 10-12 "mon_fichier"


root@Windows:~# taskset -cp 11 1918
pid 1918's current affinity list: 11
pid 1918's new affinity list: 11

root@Windows:~# top -p 1918
top - 00:46:23 up 50 min,  1 user,  load average: 1.54, 1.46, 1.31
Tasks:   1 total,   1 running,   0 sleeping,   0 stopped,   0 zombie
%Cpu(s): 11.8 us,  0.5 sy,  0.0 ni, 87.4 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem : 24594748 total, 21342892 free,  1630052 used,  1621804 buff/cache
KiB Swap: 25075708 total, 25075708 free,        0 used. 22663112 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                     
 1918 root      20   0    4240    624    560 R  99.7  0.0  36:59.21 fcrackzip   

Hors ligne coyotus

  • Contributeur de Kali-linux.fr
  • Membre Elite
  • *****
  • Messages: 3794
  • +264/-30
  • IN GNU WE TRUST
    • Groupe d'Utilisateurs de GNU/Linux...
Re : Utilisation du CPU dans un terminal
« Réponse #12 le: 22 avril 2018 à 11:58:12 »
Top ne montre pas le nombre de processeur utilisé mais le nombre de tâches, utilise "htop"

Hors ligne blonde26

  • Nouvel inscrit
  • Messages: 9
  • +0/-0
Re : Utilisation du CPU dans un terminal
« Réponse #13 le: 30 mai 2018 à 16:19:42 »
Avec airckrack il utilise tous les processeures, en checkant sur htop il monte à 700% l'utilisation CPU.

Mais je n'ai toujours pas réussi malgres mes nombreuse tentative :(,     (

J'ai tester sur windows avec un petit programme pour brutforcer les fichiers .zip et sur celui-ci je n'ai pas de problème, je peux même choisir le nombre de CPU, mais cela ne resout pas mon problème.