0

Powershell を使用して、サーバーで NUMA が有効になっているかどうか、および各 NUMA ノードに割り当てられている CPU の数を確認するにはどうすればよいですか?

アップデート:

私はここで、microsoft.sqlserver.management.smo.server オブジェクト オブジェクトにaffinityinfo フィールドがあることを知りました。ただし、そのフィールドは、作成時に Powershell のサーバー オブジェクトに存在しません (Windows XP 上の SQL Server 2005)。

アップデート:

affinityinfo フィールドは、SQL Server 2008 R2 以降にのみ存在するようです。

4

2 に答える 2

1

この情報を取得するAPIが利用可能ですが、それらは管理されていないため、PowerShell(.NET)から簡単に呼び出すことはできません。これらを直接呼び出すには、Add-Typeコマンドレットを使用してC#コードをメモリ内アセンブリにコンパイルし、そこから静的メソッドをインスタンス化または呼び出す必要があります。これが私のブログにどのように見えるかの例があります。

C#を作成するのは難しい部分です。これは、見栄えの悪いコードがたくさん関連付けられているためです。このを確認してください。C#に精通している場合は、これを必要なものに適合させることができる場合があります。そうでない場合、Markはあなたが探している情報を取得するように見えるCoreinfoと呼ばれるツールを持っています。実際には、リンクされたp / invokeコードが行うのと同じマンガ化されていないAPIを呼び出します(GetLogicalProcessorInformation)。これをPowerShellから呼び出して、そのSTDOUTを処理することができます。

于 2012-01-12T21:21:43.240 に答える
0

Windows 7 および Windows Server 2008 R2 で 64 を超える論理プロセッサを操作するためのネイティブ OS API が .NET で利用できるとは思いません。.NET Support for More Than 64 Processors を参照してください。この男は、OS API の .NET ラッパーを作成するために使用します。おそらく、PowerShell でそれを使用します。

于 2012-01-12T10:31:44.767 に答える