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)に書かれています。
ブートローダの設定で割当メモリ量を設定しているため、起動後にはすでに割当分のメモリ量しかみれないようです。