| Autor |
Beitrag |
Alice
      
Beiträge: 120
|
Verfasst: Sa 31.01.09 19:29
hi all,
hiermit meine ich nicht, dass z.b. ein Quad 4cores inne hat, nein.
zb.: auf einem mainboard sind 2 cpu's verbaut, z.b. zwei quads je 4cores.
wie oder wo bekomme ich die info darüber das 2 cpu's verbaut sind?
cu
|
|
nagel
      
Beiträge: 708
Win7, Ubuntu 10.10
|
Verfasst: Sa 31.01.09 19:33
|
|
Alice 
      
Beiträge: 120
|
Verfasst: Sa 31.01.09 19:45
hi,
genau diese funk. meinte ich nicht.
diese zeigt mir auf einem quad 4-cores an.
ich will jedoch die *anzahl der verbauten cpu's.
in meinem falle wäre das dann 1.
auf einem board mit 2 verbauten cpu's (also einem board mit 2 cpu sockets)
wären es mit o.g. funk. (2xQuad) 8-cores.
ich suche jedoch die *2* ... und nicht die 8...
cu
|
|
nagel
      
Beiträge: 708
Win7, Ubuntu 10.10
|
Verfasst: Sa 31.01.09 19:49
Oh sorry, ich hab deine Frage schon richtig verstanden, aber die verlinkte Funktion nicht getestet, sondern dem Beschreibungstext nach gedacht, sie würde die Anzahl zurückgeben.
|
|
Webo
      
Beiträge: 577
Erhaltene Danke: 14
Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
|
Verfasst: Sa 31.01.09 19:52
Also die Funktion funktioniert bei mir:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| function GetNumberOfProcessors: Integer; var SystemInfo: TSystemInfo; begin GetSystemInfo(SystemInfo); Result:=SystemInfo.dwNumberOfProcessors; end; |
Grüße
Webo
[Edit]: Ich hätt mir den Link anschauen sollen.
_________________ Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
|
|
Alice 
      
Beiträge: 120
|
Verfasst: Sa 31.01.09 20:15
hi,
Webo hat folgendes geschrieben : | Also die Funktion funktioniert bei mir:
[Edit]: Ich hätt mir den Link anschauen sollen. |
ich hoffe du meinst damit, dass es hiermit *nicht geht.
bitte die fragestellung durchlesen.
cu
|
|
jaenicke
      
Beiträge: 19339
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 31.01.09 20:20
Schau dir mal CxCpu an, ich habe zwar diese Funktionalität dort bisher nicht gesucht, aber alles was mit Informationen zur CPU zu tun hatte konnte ich bisher damit umsetzen.
www.torry.net/authorsmore.php?id=1084
Zudem ist es Freeware inkl. Quelltext.
|
|
Alice 
      
Beiträge: 120
|
Verfasst: Sa 31.01.09 20:57
hi,
jaenicke hat folgendes geschrieben : | Schau dir mal CxCpu an, ich habe zwar diese Funktionalität dort bisher nicht gesucht, aber alles was mit Informationen zur CPU zu tun hatte konnte ich bisher damit umsetzen.
www.torry.net/authorsmore.php?id=1084
Zudem ist es Freeware inkl. Quelltext. |
ne, ghet leider nicht.
cu
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 31.01.09 23:40
Windows kann nicht ziwschen physischen und virtuellen CPUs unterscheiden. Wenn du also eine quadcore hast, "dent" Windows dies wären auch vier CPUs. Aber viele Hardwareinformationen bekommt man auch über die Setup-API. Evntuell guckst du mal, ob du so die Anzahl der physischen CPUs erhälts. Allerdings weiß ich nicht, wo man an Übersetzungen der Setup-API Header-Dateien kommt.
Was mir gerade noch einfällt, hast du schon mal probiert die Informazionen über WMI zu beziehen?
|
|
Alice 
      
Beiträge: 120
|
Verfasst: So 01.02.09 12:09
hi,
Luckie hat folgendes geschrieben : | Windows kann nicht ziwschen physischen und virtuellen CPUs unterscheiden. Wenn du also eine quadcore hast, "dent" Windows dies wären auch vier CPUs. Aber viele Hardwareinformationen bekommt man auch über die Setup-API. Evntuell guckst du mal, ob du so die Anzahl der physischen CPUs erhälts. Allerdings weiß ich nicht, wo man an Übersetzungen der Setup-API Header-Dateien kommt.
Was mir gerade noch einfällt, hast du schon mal probiert die Informazionen über WMI zu beziehen? |
bei jedi gibt es diese übersetzung, jedoch konnte ich dort nicht passendes finden.
unter wmi habe ich eben mal nachgesehen, auch hier scheint es keine info darüber zu geben, leider.
cu
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: So 01.02.09 15:57
Unter C#.NET soll es wohl so gehen:
dotnet-snippets.de/d...rmitteln-SID375.aspx
Ist natürlich ohne .NET dann etwas schwierig
EDIT: Ich kann dir aber eine .NET-DLL zur Verfügung stellen (inklusive Unit zur Verwendung in Delphi ohne .NET). Die DLL muss aber dann über RegASM registriert werden, falls dich das nicht stört.
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: So 01.02.09 17:14
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: So 01.02.09 17:25
Und warum kann man dann nicht mit WMI direkt arbeiten?
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
jaenicke
      
Beiträge: 19339
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 01.02.09 17:29
Weil WMI dafür wohl ebenfalls keine Möglichkeit anbietet: Alice hat folgendes geschrieben : | | unter wmi habe ich eben mal nachgesehen, auch hier scheint es keine info darüber zu geben, leider. |
Ich muss das einmal an einem echten Mehrprozessor-PC ausprobieren, insbesondere was dazu einige Systeminformationsprogramme sagen, deren Funktionsweise ich kenne, aber das geht im Moment nicht. Vermutlich nächste Woche irgendwann.
|
|
Motzi
      
Beiträge: 2931
XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
|
Verfasst: So 01.02.09 18:01
Sollte über die CPUID Instruktion gehen, ist aber etwas kompliziert. Welche Informationen du mit Hilfe der CPUID-Instruktion auslesen kannst findest du hier: www.sandpile.org/ia32/cpuid.htm
_________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: So 01.02.09 19:11
@Motzi: Das funktioniert zwar über CPUID für einen Prozessor (physisch), aber wenn man mehrere drin hat, bekommt man nur für einen die Info. Hier muss man schon über ACPI die Informationen abfragen (d.h. aus dem physikalischen Speicher die Deskriptoren klauben) ...
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: So 01.02.09 19:12
jaenicke hat folgendes geschrieben : | | Weil WMI dafür wohl ebenfalls keine Möglichkeit anbietet |
Dem .NET-Code nach gibt es eine und die sollte dann natürlich auch unter Delphi verfügbar sein  .
_________________ >λ=
|
|
Motzi
      
Beiträge: 2931
XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
|
Verfasst: So 01.02.09 19:46
BenBE hat folgendes geschrieben : | | @Motzi: Das funktioniert zwar über CPUID für einen Prozessor (physisch), aber wenn man mehrere drin hat, bekommt man nur für einen die Info. Hier muss man schon über ACPI die Informationen abfragen (d.h. aus dem physikalischen Speicher die Deskriptoren klauben) ... |
Das ist richtig, aber du kannst zuerst mit GetSystemInfo die Anzahl der Prozessoren abfragen und dann der Reihe nach mit SetThreadAffinityMask festlegen auf welchem Prozessor der Thread laufen soll und für diesen dann per CPUID alle Informationen auslesen.
_________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
|
|
jaenicke
      
Beiträge: 19339
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 01.02.09 19:56
|
|
Alice 
      
Beiträge: 120
|
Verfasst: Sa 07.02.09 15:05
hi,
jaenicke hat folgendes geschrieben : | Kha hat folgendes geschrieben : | jaenicke hat folgendes geschrieben : | | Weil WMI dafür wohl ebenfalls keine Möglichkeit anbietet | Dem .NET-Code nach gibt es eine und die sollte dann natürlich auch unter Delphi verfügbar sein . | Stimmt, ich hatte mich jetzt auf die Aussage verlassen: Alice hat folgendes geschrieben : | | unter wmi habe ich eben mal nachgesehen, auch hier scheint es keine info darüber zu geben, leider. | Aber der Dokumentation nach zu urteilen (und dem Beispiel) stimmt das ja nicht.
|
so, eben mal auf einem serverboard, 2cpus zu je 4cores in der WMI nachgesehen, win2003 server,
hier ist nicht dergleichen zu finden, selbst der CPU-typ wird falsch ausgegeben!?!
aber irgendwie muss das doch gehen, tools wie cpuz zb. erkennen dies ja auch.
cu
|
|