Linuxでハードウェアデバイスの情報を確認する方法(dmidecode)
Xenの環境の場合、ホストOSやゲストOSに対してどれだけのメモリを割当てるか設定して起動します。
その場合、ホストOSがどれだけのメモリを持っているのかをチェックしようと、
freeコマンドや/proc/meminfoで確認してみると、Xenで割当設定したメモリ量しか表示されません。
例えば、ホストOSに512MBメモリを割当てると、
ホストOSでfree実行した場合こんな感じ。
# free total used free shared buffers cached Mem: 524288 430904 93384 0 51964 233324 -/+ buffers/cache: 145616 378672 Swap: 2096376 0 2096376
524288KB=512MBがtotalとして出てきます。
また/proc/meminfoを見ると
# cat /proc/meminfo MemTotal: 524288 kB MemFree: 93384 kB Buffers: 52060 kB Cached: 233316 kB SwapCached: 0 kB Active: 107348 kB Inactive: 220392 kB ・・・省略
ということでこちらも同じく512MB
これだと、物理的にどれだけの量のメモリを積んでいるのかのがわかりません。
そこで便利なのがdmidecodeコマンドです。
このコマンドを実行することで物理的なデバイス情報を取得することができます。
# dmidecode ・・・省略 Handle 0x0024, DMI type 17, 27 bytes. Memory Device Array Handle: 0x0022 Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: 1024 MB Form Factor: DIMM ・・・省略 Handle 0x0026, DMI type 17, 27 bytes. Memory Device Array Handle: 0x0022 Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: 1024 MB Form Factor: DIMM ・・・省略 Handle 0x0028, DMI type 17, 27 bytes. Memory Device Array Handle: 0x0022 Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: 1024 MB Form Factor: DIMM ・・・省略 Handle 0x002A, DMI type 17, 27 bytes. Memory Device Array Handle: 0x0022 Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: 1024 MB Form Factor: DIMM ・・・省略
これを見ると1024MBのメモリが4本(4GB)刺さっていることがわかります。
これであとどれだけ仮想マシンにメモリ割り当てても大丈夫か判断できます。
ちなみに、xenのdom0に割り当てるメモリ量は/etc/grub.conf(/boot/grub/grub.conf)に書かれています。
ブートローダの設定で割当メモリ量を設定しているため、起動後にはすでに割当分のメモリ量しかみれないようです。