Golang を使用して、Linux システムの CPU ソケット数、ソケットあたりのコア数、およびコアあたりのスレッド数を返す関数を見つけて書き込もうとしています。たとえば、サーバーにそれぞれ 4 コアの 2 つの CPU があり、ハイパースレッディングを使用すると、CPU ごとに 8 つのスレッドを処理できます。
サンプル出力:
{
"CPUSockets": "2",
"CoresPerSocket": "4",
"ThreadsPerCore": "2"
}
質問: この情報を提供できる Go パッケージまたは疑似コードをご存知ですか?
注: psutil のさまざまな go 実装を見てきましたが、ソケットの数を返したり、コアとスレッドを区別したりするものを見つけることができません。必要なデータは、実行することで非常に簡単にアクセスできますlscpu
が、Go を使用してアクセスする方法がわかりません。