【C#】CPUのコア数を取得する方法
関連記事
- 【#CSHARP】次の案件のスケルトン書いてgitサーバに登録するなどと 【2023年05月16日(火)】
- 生成AI「仕事で利用」2割 正確性などに懸念(23/5/7) 【2023年05月07日(日)】
- 【#RaspberryPI】ラズパイでsudo起動の.Net6アプリがデバグできない件 【2023年04月22日(土)】
- 【#PostgreSQL】テーブルから取得したレコードセットをCSVへ落とそうとすると,空ファイルが出来る...ドロドロドロ 【2023年03月08日(水)】
- 【#git】TortiseGit ver2.14のGitWCRev.exeを動かすとErrorCD:10を出力して,動かない 【2023年02月08日(水)】
最近は,弊社リリースのアプリ,マルチスレッドを無意味に多用してたりして?
理想は,コア数と同じ処理スレッド数にするのが,一番効率いいはず
C#なんで,VM関連のバック処理で何本もスレッドが立ち上がってはおるが
んじゃぁ~ってことで,コア数を取ってくる方法を...
と探してみて,行き着いたのが,こちら
マネージドコードでCPUのコア数を知りたい @ MSDNフォーラム
ところが,これ,どうもXPだとちゃんとした値が取れないみたい...
途方にくれて,Win32情報関連辺りを,うろうろさまよっていたら...
Calling API functions using C# @ The Code Project
こちらのページに行き着いて
なんのことはない,Win32の GetSystemInfo() を叩けばいいらしい
SYSTEM_INFO構造体を受け取って
dwNumberOfProcessorsメンバーにコア数が入っているとのこと
ってことで,C#でちょろっと書いてみた
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; namespace CpuCoreCount { public partial class Form1 : Form { [DllImport("kernel32")] static extern void GetSystemInfo(ref SYSTEM_INFO ptmpsi); [StructLayout(LayoutKind.Sequential)] public struct SYSTEM_INFO { public uint dwOemId; public uint dwPageSize; public uint lpMinimumApplicationAddress; public uint lpMaximumApplicationAddress; public uint dwActiveProcessorMask; public uint dwNumberOfProcessors; public uint dwProcessorType; public uint dwAllocationGranularity; public uint dwProcessorLevel; public uint dwProcessorRevision; } public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { SYSTEM_INFO sysInfo = new SYSTEM_INFO(); GetSystemInfo(ref sysInfo); label1.Text = sysInfo.dwNumberOfProcessors.ToString(); } } }うちのクアッド様@Q6600は,ちゃんと4個
テストサーバのPentium Dualは,2個を返してきましたです 🙂
コメント
【#インボイス】岸田首相、インボイス制度「事業者の悩みを把握しきめ細かい取り組み」を指示 初の関係閣僚会議
桜島フェリー運賃アップへ 来年7月から大人50円↑ 鹿児島市が案示す
【体調不良】起きて早々,閃輝暗点発生中
【#あまちゃん】「あまちゃん」放送10周年記念 スペシャルコンサート 久慈
#あまちゃん 10周年スペシャルコンサートのチケットを買ってみた eplusの新会員登録画面,作りがなっとらん!
イーロン・マスク氏 「X」全利用者に少額課金求める考え示す
秋分の日 雨が降り出した しかも涼しい
【#インフルエンザ】「インフル 4週間以内に大流行の可能性 対策を」小池都知事