2012-01-12 2 views
0

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

更新:

私はmicrosoft.sqlserver.management.smo.serverオブジェクトオブジェクトはaffinityinfoフィールドを持っていることhereを発見しました。ただし、そのフィールドはPowerShellのサーバーオブジェクト(Windows XP上のSQL Server 2005)には存在しません。

更新:

affinityinfoフィールドは、SQL Server 2008のR2以降に存在することが表示されます。

答えて

0

.NETで64以上の論理プロセッサを処理するためのWindows 7およびWindows Server 2008 R2のネイティブOS APIが利用できないと思われる場合は、.NET Support for More Than 64 Processorsをご覧ください。このユーザーは、OS API用の.NETラッパーを作成するために使用します。おそらくPowerShellで使用します。

+0

なぜ64以上の論理プロセッサで作業する必要がありますか? –

1

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

C#を書くことは、それに付随する不愉快なコードがたくさんあるので、難しい部分です。exampleをチェックしてください。あなたがC#に精通しているなら、これをあなたが望むものに適応させることができます。 MarkさんにはCoreinfoというツールがありますが、探している情報が表示されるようです。実際には、リンクされたp/invokeコードと同じアンマネージされたAPIが呼び出されます(GetLogicalProcessorInformation)。 PowerShellからこれを呼び出し、そのSTDOUTを処理することができます。

+0

Ta。私はこれを調べます。 –

関連する問題