* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Novembre 24, 2024, 06:38:52 am

Inserisci il nome utente, la password e la durata della sessione.

47 Visitatori, 0 Utenti

Autore Topic: Hardware info  (Letto 7695 volte)

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3276
  • Karma: +12/-0
Hardware info
« il: Dicembre 09, 2012, 10:01:05 pm »
Ciao ragazzi chi mi sa dire come recuperare alcune informazioni hardware!? Tipo:


Quantità di ram
Info cpu
Info HD

Possibilmente una soluzione cross-platform.
Ieri è passato, domani è futuro, oggi è un dono...

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:Hardware info
« Risposta #1 il: Dicembre 10, 2012, 10:52:23 am »
so che c'è qualcosa sulle jedi (JCL) ma non credo che funzionino anche per freepascal
appena ho modo controllo
Imagination is more important than knowledge (A.Einstein)

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:Hardware info
« Risposta #2 il: Dicembre 10, 2012, 12:49:21 pm »
Per win non è un problema, ho controllato e ci sono le JCL che fanno egregiamente il loro lavoro: metti in uses JclSysInfo e nella unit trovi le procedure e le funzioni quelli che ti servovo.

Per linux non ho trovato api (emh... non è che ho cercato proprio bene bene ancora :) ) però se non si trova nulla posso dirti come reperire le informazioni.
Imagination is more important than knowledge (A.Einstein)

bonmario

  • Hero Member
  • *****
  • Post: 1360
  • Karma: +11/-1
Re:Hardware info
« Risposta #3 il: Dicembre 10, 2012, 01:26:28 pm »
Se non ricordo male, domanda e risposta ci sono nel forum ufficiale in inglese.
Prova a dare un occhio.

Ciao, Mario

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3276
  • Karma: +12/-0
Re:Hardware info
« Risposta #4 il: Dicembre 10, 2012, 04:49:32 pm »
Se non ricordo male, domanda e risposta ci sono nel forum ufficiale in inglese.
Prova a dare un occhio.

Ciao, Mario
ciao mario avevo gia dato un occhiata veloce e non avevo trovato nulla d'interessante
Ieri è passato, domani è futuro, oggi è un dono...

bonmario

  • Hero Member
  • *****
  • Post: 1360
  • Karma: +11/-1
Re:Hardware info
« Risposta #5 il: Dicembre 10, 2012, 06:17:36 pm »
Hai ragione ... ho appena riguardato, ed ho visto che la domanda era proprio la tua e che ti rispondevano con un generico "le risposte sono nel forum, ma devi cercarle" ....

Ciao, Mario

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:Hardware info
« Risposta #6 il: Dicembre 10, 2012, 07:09:47 pm »
mi sa tanto che ti tocca cercare i dati che ti interessano nel filesystem sotto /proc

  • cat /proc/cpuinfo
  • cat /proc/meminfo
  • cat /proc/partitions
Imagination is more important than knowledge (A.Einstein)

bonmario

  • Hero Member
  • *****
  • Post: 1360
  • Karma: +11/-1
Re:Hardware info
« Risposta #7 il: Febbraio 23, 2013, 12:32:30 pm »
Ciao,
sto cercando di implementare anch'io qualcosa. Per il momento mi interessa ricavare il n° di core. Sto provando qui a casa, con un Intel I5 che, per quel che ne so, dovrebbe avere 4 core. Questo è il contenuto di /proc/cpuinfo:

Codice: [Seleziona]
processor	: 0
vendor_id : GenuineIntel
cpu family : 6
model : 37
model name : Intel(R) Core(TM) i5 CPU         650  @ 3.20GHz
stepping : 2
microcode : 0x9
cpu MHz : 3201.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
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 rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips : 6384.07
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 37
model name : Intel(R) Core(TM) i5 CPU         650  @ 3.20GHz
stepping : 2
microcode : 0x9
cpu MHz : 2800.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 2
cpu cores : 2
apicid : 4
initial apicid : 4
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
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 rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips : 6384.07
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 37
model name : Intel(R) Core(TM) i5 CPU         650  @ 3.20GHz
stepping : 2
microcode : 0x9
cpu MHz : 3201.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
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 rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips : 6384.07
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 37
model name : Intel(R) Core(TM) i5 CPU         650  @ 3.20GHz
stepping : 2
microcode : 0x9
cpu MHz : 3201.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 2
cpu cores : 2
apicid : 5
initial apicid : 5
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
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 rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips : 6384.07
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

Nell'esito qui sopra, mi ritrovo "processor   : 0", "processor   : 1", "processor   : 2", "processor   : 3", che dovrebbero essere i miei 4 core. All'interno di ognuno di essi, però mi ritrovo la voce "cpu cores   : 2". Significa quindi che ho 8 core?

Grazie, Mario

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:Hardware info
« Risposta #8 il: Febbraio 23, 2013, 01:35:03 pm »
significa che hai 4 processori con 2 core ciascuno
se apri un monitor sui processori dovresti vedere proprio 8 grafici
Imagination is more important than knowledge (A.Einstein)

bonmario

  • Hero Member
  • *****
  • Post: 1360
  • Karma: +11/-1
Re:Hardware info
« Risposta #9 il: Febbraio 23, 2013, 03:50:15 pm »
La cosa comincia ad incuriosirmi ...
Sono andato in "Monitor di sistema" di Ubuntu e lì mi segnala 4 CPU, ma non ci sono riferimenti ai core. Allora ho provato a cercare i internet e, da quel che ho capito, ci sono 2 tipi di I5. Un tipo ha 2 core, ma fa in modo che il sistema operativo ne veda 4. L'altro ha 4 core, ma fa in modo che il sistema operativo ne veda 8.

Se non ho capito male, il mio rientra nel secondo caso.
Comunque, mi confermate che per estrarre dal cpuinfo il n° di core devo fare n° di processori * n° di core (che nel mio caso darebbe 8)?

Grazie, Mario

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:Hardware info
« Risposta #10 il: Febbraio 23, 2013, 04:03:41 pm »
se su cpuinfo dice che hai 2 core per processore: 4 * 2 = 8 ;)
non sapevo però che ci fossero 2 tipi di i5, non si finisce mai di imparare :)
Imagination is more important than knowledge (A.Einstein)

El Salvador

  • Visitatore
Re:Hardware info
« Risposta #11 il: Febbraio 23, 2013, 06:27:34 pm »
I primi processori i5 (architettura Lynnfield) erano tutti a 4 core, poi arrivarono i Clarkdale, tutti a 2 core poi i Sandy Bridge sia 4 che 2 (per la verità la maggior parte a 4 core).

Citazione
Comunque, mi confermate che per estrarre dal cpuinfo il n° di core devo fare n° di processori * n° di core
Dipende da quali processori vuoi far vedere. Mi spiego meglio: mettiamo il caso che abbiamo un processore core i5 abbia 4 core fisici al suo interno. Se è attivo il multithreading ( http://it.wikipedia.org/wiki/Simultaneous_Multi-Threading#Simultaneous_Multi-Threading ), il sistema operativo ne vedrà il doppio, ovvero 8 (4 core * 2).

bonmario

  • Hero Member
  • *****
  • Post: 1360
  • Karma: +11/-1
Re:Hardware info
« Risposta #12 il: Febbraio 23, 2013, 07:33:18 pm »
Lo scopo di tutto ciò è che, in un programma, devo lanciare parecchi processi in parallelo e volevo fare in modo che venissero lanciati tanti processi quanti sono i core della macchina. Questo per evitare di appesantirla troppo ed evitarmi di decidere arbitrariamente un numero.

Ciao, Mario

 

Recenti

How To

Utenti
  • Utenti in totale: 803
  • Latest: maXim.FI
Stats
  • Post in totale: 19180
  • Topic in totale: 2288
  • Online Today: 97
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 47
Total: 47

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.