ESXi ホストで cpuinfo 情報を確認する
search cancel

ESXi ホストで cpuinfo 情報を確認する

book

Article ID: 302456

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

この記事には、NX/XD (No eXecute/eXecute Disable) フラグが ESXi ホストで設定されているかどうかを確認する方法が記載されています。

Symptoms:

免責事項: これは英文の記事 「Checking cpuinfo information on an ESXi host (1031785)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


Environment

VMware ESXi 3.5.x Installable
VMware vSphere ESXi 5.0
VMware ESXi 4.1.x Installable
VMware ESXi 4.0.x Installable
VMware vSphere ESXi 5.5
VMware ESXi 4.1.x Embedded
VMware vSphere ESXi 5.1
VMware ESXi 3.5.x Embedded
VMware ESXi 4.0.x Embedded

Resolution

ESX ホストでは、/proc/cpuinfo ファイルのフラグ行を見ることで cpuinfo が確認できます。ただし、ESXi ホストにこのファイルは存在しません。

http://www.run-virtual.com/?page_id=38 からのダウンロードで入手可能な VMware CPU Host Info ユーティリティを使用し、vCenter Server データベースにクエリを実行して、すべての ESX ホストから CPU 情報を読み取れるようにすることができます。:このリンクに記載されている情報は、現状どおり記載されているものであり、VMware が、この情報の正確性または適用性について保証するものではありません。このユーティリティは、あくまで 1 つの例示であり、VMware は、特定のサード パーティ ユーティリティを保証または推奨していません。

コマンド vim-cmd hostsvc/hosthardware を使用して、この情報を確認することもできます。
出力は次のようになります。
~ # vmware -v
VMware ESX Server 3i 3.5.0 build-158869
~ # vim-cmd hostsvc/hosthardware
(vim.host.HardwareInfo) {
dynamicType = <unset>,
systemInfo = (vim.host.SystemInfo) {
dynamicType = <unset>,
vendor = "Dell Inc.",
model = "PowerEdge 2950",
uuid = "44454c4c-4800-104e-8035-b1c04f58324a",
},
cpuInfo = (vim.host.CpuInfo) {
dynamicType = <unset>,
numCpuPackages = 2,
numCpuCores = 4,
numCpuThreads = 4,
hz = 2327523877,
},
cpuPkg = (vim.host.CpuPackage) [
(vim.host.CpuPackage) {
dynamicType = <unset>,
index = 0,
vendor = "intel",
hz = 2327523877,
busHz = 332503411,
description = "Intel(R) Xeon(R) CPU 5140 @ 2.33GHz",
threadId = (short) [
0,
1
],
cpuFeature = (vim.host.CpuIdInfo) [
(vim.host.CpuIdInfo) {
dynamicType = <unset>,
level = 0,
vendor = <unset>,
eax = "0000:0000:0000:0000:0000:0000:0000:1010",
ebx = "0111:0101:0110:1110:0110:0101:0100:0111",
ecx = "0110:1100:0110:0101:0111:0100:0110:1110",
edx = "0100:1001:0110:0101:0110:1110:0110:1001",
},
(vim.host.CpuIdInfo) {
dynamicType = <unset>,
level = 1,
vendor = <unset>,
eax = "0000:0000:0000:0000:0000:0110:1111:0110",
ebx = "0000:0000:0000:0010:0000:1000:0000:0000",
ecx = "0000:0000:0000:0100:1110:0011:1011:1101",
edx = "1011:1111:1110:1011:1111:1011:1111:1111",
},
: : : : : : : : : :
(vim.host.CpuIdInfo) {
dynamicType = <unset>,
level = -2147483647,
vendor = <unset>,
eax = "0000:0000:0000:0000:0000:0000:0000:0000",
ebx = "0000:0000:0000:0000:0000:0000:0000:0000",
ecx = "0000:0000:0000:0000:0000:0000:0000:0001",
edx = "0010:1000:0001:0000:0000:1000:0000:0000",
VMware VMotion and CPU Compatibility』の「x86 機能のビットと実装の相違点(x86 Feature Bits and Implementation Differences)」に説明があるように、0x8000 0001:EDX の 20 番目のビットを見れば NX/XD ステータスを確認できます。
レベル 0x80000001 は、実際には符号付き 10 進の整数形式で表示されるため、-2147483647 になります。上の例では、NX ビットは赤で強調表示されています。


Additional Information

ESX または ESXi ホスト上の仮想マシンで VMware の CPUID ISO を実行できます。このため、NX/XD ビットを含む、基板となるハードウェアの CPU 情報を取得できます。CPUID ISO は http://download3.vmware.com/software/vi/VMware-CPU-Compatibility-e.x.p-160658.zip からダウンロード可能です。

:次の場合は、VT または NX が有効になっているかを確認すると CPUID ISO は正確ではない可能性があります。
  1. EVC が有効になっている、または手動 CPU マスクが仮想マシンに適用されていると、仮想マシンからは確認できなくなります。
  2. ESX/ESXi では使用されていない CPU 機能がある場合、VMX プロセスには、それらは提供されない可能性があります。
他にも 100% 正確ではない可能性がある場合があります。すべての機能を使用するには、ISO から直接ホストを起動する必要がある場合があります。Checking cpuinfo information on an ESXi host