Linuxのdmidecodeコマンドを使用すると、ユーザーはハードウェア関連の機密情報をコマンドラインから直接取得できます。このようにして、ユーザーはCPUを分解することなく、シリアル番号やプロセッサキャッシュ値などの有用な情報を取得できます。 Linuxでは、dmidecodeはDMIテーブルデコーダーと呼ばれ、システムのSMBIOS(システム管理BIOS)からハードウェア情報をデコードするだけです。注意深く使用すると、dmidecodeは大量の興味深い情報を提供できます。そのため、このガイドでは、dmidecodeで実行できる最もすばらしいことのいくつかを概説しています。これらのコマンドを完全に習得するために読み続けてください。
Linuxオタク向けのdmidecodeコマンド
dmidecodeを使用して、システム、BIOS、プロセッサ、メモリ、ベースボード、およびその他の重要なハードウェアコンポーネントに関連する大量の情報を取得できます。ほとんどのコマンドは非常にシンプルで自明ですが、主に不慣れなために、新しいユーザーはそれらを難しいと感じることがよくあります。以下のコマンドをチェックして、dmidecodeの動作をより詳細に学ぶことができます。
1。 DMI情報全体を印刷する
dmidecodeコマンドの最も単純なアプリケーションは、DMI(デスクトップ管理インターフェイス)テーブルで利用可能なすべての情報を提供します。このコマンドは、Linuxターミナルエミュレータにテキスト値を表示する前に、バイナリでエンコードされたデータをフェッチしてデコードするだけです。
$ sudo dmidecode
sudoが必要になります 特権を与えるか、rootアカウントを使用してこれらのコマンドをテストすることもできます。 DMIテーブルには、40を超えるタイプのエントリが含まれています。各タイプには通常、特定のハードウェアコンポーネントに関連する情報が含まれています。進歩するにつれて、それらについてもっと知るようになります。
2。 DMIコンテンツをスクロールする
すでにお気づきのとおり、dmidecodeを実行するだけで多くの情報が得られます。この膨大な量のデータを調べて、関心のある情報を見つけるのは難しいことがよくあります。幸い、このデータをless / moreなどのコマンドでパイプ処理し、コントロールを使用してスクロールすることができます。
$ sudo dmidecode | less $ sudo dmidecode | more---
PageUp を使用してdmidecode出力をスクロールできるため、あまり役に立たないことがわかりました。 およびPageDown 。
3。信頼できないデータを抑制する
DMIテーブルには多くの不明な/存在しないエントリが含まれているため、ユーザーはこれらのフィールドを可能な限り減らしたい場合があります。ありがたいことに、 -qを利用できます または–静か これを正確に行うためのオプション。次のコマンドを見て、これがどのように機能するかを確認してください。
$ sudo dmidecode -q | less $ sudo dmidecode --quiet | less
これで、dmidecodeの冗長性が低下し、指定されていない多くの情報が省略されます。ほとんどのメタデータとハンドル参照は出力から消えます。
4。 DMIコンテンツを16進数でダンプする
Linux dmidecodeを使用すると、ユーザーはDMIの内容をデコードせずにダンプできます。このようにして、CPUの問題をデバッグするのに非常に役立つ16進データを取得します。このような場合、dmidecodeはバイナリデータを出力しませんが、16進数とASCIIの内容を含む単純なテキストを出力することに注意してください。
$ sudo dmidecode -u | less $ sudo dmidecode --dump | less
したがって、 -uを追加するだけです。 または– -dump dmidecodeのオプションがこの仕事をします。出力をスクロールして、どのように表示されるかを確認できます。 16進値と文字列値の両方が含まれている必要があります。
5。バイナリ出力のダンプ
dmidecodeを使用して、DMIテーブルの内容をバイナリ形式で保存できます。これは、さまざまな状況で役立ちます。 1つは、DMIデータを異なるワークステーション間で再配置し、後でそれらを検査することができます。これをより詳細に理解するには、下の図をご覧ください。
$ sudo dmidecode --dump-bin TEST
これで、DMI値が TESTというファイルに保存されます。 バイナリ形式で。 catやfileなどの標準のLinuxツールを使用して、このデータを検証できます。
6。保存されたデータを読む
LinuxおよびBSDユーザーは、事前に保存されたバイナリファイルからDMIエントリを取得することもできます。以下のコマンドは、前の例で保存されたハードウェア情報を読み取る方法を示しています。 –from-dumpを使用する必要があります これを有効にするオプション。
$ sudo dmidecode --from-dump TEST
このコマンドは、バイナリファイル TESTを読み取るようにdmidecodeに指示します。 このドキュメントでエンコードされたDMIデータをデコードします。多くの場合、レガシーマシンや他の多くのケースのデバッグに役立ちます。
7。デバイスファイルを指定
デフォルトでは、dmidecodeはファイル / dev / memからメモリ情報を読み取ります 。これは、Linuxマシンの物理メモリへのアクセスを提供する低レベルのシステムファイルです。 -d を使用して、dmidecodeに別のデバイスファイルを読み取るように指示できます。 または–dev-mem オプション。
$ sudo dmidecode -d FILE $ sudo dmidecode --dev-mem FILE
ただし、何に取り組んでいるのかを理解していない限り、別のデバイスファイルを使用することはお勧めしません。それはオプションのままです、それだけです。
8。ディスプレイシステムメーカー
dmidecodeの最も簡単で便利な使用法の1つは、簡単な例を使用して説明できます。 -s を使用して、システムメーカーの名前を印刷できます。 または–文字列 オプション。次の例を見て、これがどのように機能するかを確認してください。
$ sudo dmidecode -s system-manufacturer $ sudo dmidecode --string system-manufacturer
したがって、キーワード system-manufacturerを送信します。 -s、の引数として システムメーカーの名前を取得します。
9。製品名を表示
次のコマンドは、上記のオプションの別の使用法を示し、システム製品の名前を出力します。たとえば、このコマンドはラップトップのモデル番号を出力します。
$ sudo dmidecode -s system-product-name $ sudo dmidecode --string system-product-name
また、dmidecodeタイプを使用してこのデータを取得し、Linuxgrepコマンドを使用して無関係な情報を除外することもできます。このコマンドを使用して、モデル番号を自分で取得してみてください。
10。シリアル番号を表示
dmidecodeコマンドの標準的な使用法の1つは、システムのシリアル番号を出力することです。次のdmidecodeコマンドを使用すると、ラップトップのシリアル番号を非常に簡単に取得できます。
$ sudo dmidecode -s system-serial-number $ sudo dmidecode --string system-serial-number
このコマンドは、SonyVAIONotebookのシリアル番号を出力します。他のモデルでも簡単に動作するはずです。
11。システムUUIDの表示
UUIDは、システムの識別やその他のタスクに使用されるUniversallyUniqueIdentifierです。 dmidecodeを使用して、システムのUUIDを簡単に印刷できます。以下のコマンドを見て、これがどのように機能するかを詳細に確認してください。
$ sudo dmidecode -s system-uuid $ sudo dmidecode --string system-uuid
したがって、キーワード system-uuidを渡すだけです。 –stringの引数として UUID値を取得するためのパラメータ。
12。 BIOSベンダーを表示する
BIOS(Basic Input Output System)は、起動時のマシンの初期化を担当します。 American Megatrends を含む、人気のあるBIOSベンダーは複数あります。 、Insydeソフトウェア 、および Phoenix Technologies 。 dmidecodeツールを使用すると、以下に示すように、ユーザーはBIOSベンダーの名前を印刷することもできます。
$ sudo dmidecode -s bios-vendor $ sudo dmidecode --string bios-vendor
ワークステーションでこのコマンドを実行すると、BIOSがInsydeCorpによって開発されたことが示されます。
13。 BIOSバージョンを表示する
BIOSバージョンは、これを知らずにBIOS固有の操作を実行するのが難しいため、多くのユーザーにとって有用な情報です。 BIOSの更新などを決定するときに役立つことがよくあります。次のコマンドは、dmidecodeを使用してこの情報を取得する方法を示しています。
$ sudo dmidecode -s bios-vendor $ sudo dmidecode --string bios-vendor
これは、多くの実用的なユースケースで役立つコマンドです。よく見てください。
14。 BIOSリリース日を表示
ここでは、システムのBIOSのリリース日を取得する際のdmidecodeの使用について説明します。この情報は、ファームウェアを手動で更新または変更したいユーザーに役立ちます。
$ sudo dmidecode -s bios-release-date $ sudo dmidecode --string bios-release-date
たとえば、このコマンドを使用して、VAIOノートブックにかなり最近のファームウェアがあることがわかりました。あなたもチェックして、自分の目で確かめてください。
15。ベースボード名を表示
マザーボードまたはメインボードは、システムの最も重要なハードウェアコンポーネントの1つです。ベースボードおよびシステムボードとも呼ばれます。キーワードbaseboard-product-nameを渡すことができます –stringの引数として この情報を取得するためのパラメータ。
$ sudo dmidecode -s baseboard-product-name $ sudo dmidecode --string baseboard-product-name
dmidecodeコマンドによって提供されるその他の有用なメインボード関連の情報は、シリアル番号、バージョン、およびアセットタグです。
16。ベースボードベンダーを表示する
BIOSの製造元と同様に、dmidecodeもメインボードのベンダー名を提供します。下の図をざっと見て、これがどのように機能するかを確認してください。
$ sudo dmidecode -s baseboard-manufacturer $ sudo dmidecode --string baseboard-manufacturer
したがって、 baseboard-manufacturer を渡すだけで、マザーボードの製造元の名前を取得できます。 -sの引数としてのキーワード または–文字列 。コマンドの前にsudo、を付けることを忘れないでください そうしないと機能しません。
17。ベースボードのシリアル番号を表示する
ベースボードのシリアル番号は一意の識別子であり、ハードウェアの問題のトラブルシューティングに役立つ場合があります。 dmidecodeを使用してこのシリアルを簡単に取得し、この情報を使用して、製品が本物かどうかを確認できます。
$ sudo dmidecode --string baseboard-serial-number
ただし、多くの古いシステムでは、DMIテーブルにこの値が含まれていない可能性があり、この場合、dmidecodeは答えを提供できません。
18。ディスプレイプロセッサファミリ
プロセッサは、私たちのシステムのコアコンポーネントです。それらは通常、機能とレベルに従ってグループ化されます。 dmidecodeを使用すると、プロセッサファミリを簡単に見つけることができます。次の例をよく見て、これが実際に動作していることを確認してください。
$ sudo dmidecode -s processor-family $ sudo dmidecode --string processor-family
たとえば、ワークステーションがIntelCorei7ファミリーに属するプロセッサーを搭載していることを確認しました。これを自分で試して、期待どおりの結果が得られているかどうかを確認してください。
19。ディスプレイプロセッサモデル
すでに説明したように、プロセッサファミリは一般化されたグループであり、正確なモデル番号を提供していません。幸い、dmidecodeツールを使用して、プロセッサの正確なモデルを見つけることができます。これがどのように機能するかについては、以下の例を参照してください。
$ sudo dmidecode -s processor-version $ sudo dmidecode --string processor-version
したがって、キーワード Processor-versionを渡すだけです。 -sの値として または–文字列 パラメータ。プロセッサの正確なモデルを取得する必要があります。
20。プロセッサ周波数の表示
プロセッサのクロックレートまたは周波数は、そのパフォーマンスにとって非常に重要です。通常、パフォーマンスは周波数の増加とともに向上します。メーカーは通常、プロセッサの速度が基本速度の前後に保たれるように製品を調整します。基本速度は、多くの場合、プロセッサの能力よりも低くなります。
$ sudo dmidecode -s processor-frequency $ sudo dmidecode --string processor-frequency
Linux dmidecodeコマンドを使用して、プロセッサに関するさらに多くの追加情報を取得できます。続行すると、それらについて詳しく知ることができます。
21。システムプロパティの表示
タイプに基づいてDMIエントリをダンプすることもできます。 DMIテーブルには42の異なるDMIタイプが含まれ、それぞれがシャーシ、プロセッサ、メモリなどのコンポーネントを表します。次の例を見て、タイプを使用してSMBIOSからシステムプロパティを取得する方法を確認してください。
$ sudo dmidecode -t 1 $ sudo dmidecode --type system
-t または–type オプションは、キーワードまたはタイプIDのいずれかを取ることができます。いくつかのコンポーネントには複数のタイプのIDがあります。たとえば、システムタイプのIDは1、12、15、23、32です。タイプ12はシステム構成オプションを表し、15はシステムイベントログを表し、23はシステムリセットを表し、システムブートは32で表されます。
22。ベースボードのプロパティを表示する
ベースボードのプロパティは、DMIタイプ2、10、および41で表されます。タイプ2は全体的なベースボードのプロパティを提供し、後者の2つはオンボードデバイスに関する情報を提供します。
$ sudo dmidecode --type 2 $ sudo dmidecode --type baseboard
ただし、上記のコマンドによって生成される出力にはわずかな違いがあります。タイプIDが使用される場合、dmidecodeはそのタイプの正確なDMIエントリを提供します。ただし、typeキーワードを使用すると、そのキーワードに関連付けられているすべてのDMIエントリが表示されます。
23。プロセッサのプロパティを表示する
以下のコマンドは、DMIタイプを使用してプロセッサ情報を取得する方法を示しています。プロセッサタイプには、IDのタイプが1つ、つまり4しかありません。したがって、フェッチするのは非常に簡単です。
$ sudo dmidecode --type 4 $ sudo dmidecode --type processor
プロセッサファミリ、製造元、タイプ、モデル、アクティブフラグ、広告など、プロセッサに関する多くの情報を取得します。また、この出力から、プロセッサでサポートされている最大周波数と現在設定されている値を確認できます。
24。メモリプロパティの表示
メモリコンポーネントには、メモリコントローラ、メモリモジュール、物理メモリアレイ、およびメモリデバイスが含まれます。それぞれ次のDMIタイプがあります– 5、6、16、17。dmidecodeタイプを使用してメモリプロパティを取得する方法を見てください。
$ sudo dmidecode --type memory
このコマンドは、インストールされているRAMの数、それらのフォームファクタ、タイプ、サイズ、バス速度などに関する情報を提供します。多くのSMBIOSは、タイプIDが使用されている場合、期待されるデータを提供しません。したがって、このコマンドにはタイプ識別子を使用することをお勧めします。
25。キャッシュのプロパティを表示する
キャッシュは、システムの最も重要な部分の1つです。これを知らないかもしれませんが、キャッシュ速度は処理頻度よりもパフォーマンスに大きな影響を与えます。最近のプロセッサには通常、さまざまなレベルに分割された複数のキャッシュがあります。以下のdmidecodeコマンドを使用して、Linuxマシンのキャッシュプロパティを簡単に取得できます。
$ sudo dmidecode --type 7 $ sudo dmidecode --type cache
これらのコマンドは両方とも、サイズ、関連性、構成など、キャッシュに関する有用な情報を提供します。
26。シャーシのプロパティを表示する
シャーシのプロパティは、システムのアップグレードを計画する場合、または潜在的なハードウェアの問題をトラブルシューティングする場合に役立ちます。他のシステムコンポーネントと同様に、dmidecodeタイプを使用してシャーシプロパティを取得することもできます。シャーシキーワードまたはそのタイプ(3)のいずれかを使用できます。
$ sudo dmidecode --type 3 $ sudo dmidecode --type chassis
これらは、シャーシタイプ、製造元、シリアル、ブート状態、熱状態などの多くの情報を提供します。ただし、すべてのSMBIOSに正確なシャーシデータが含まれているわけではありません。したがって、これらのデータを必ず確認してください。
27。 OEM文字列を表示する
dmidecodeを使用して、システムのOEM文字列を印刷できます。これらはSMBIOSによって保存される自由形式のデータであり、ファームウェアの更新後に変更される可能性があります。次のコマンドを見て、実際の動作を確認してください。
$ sudo dmidecode --type 11
このDMIタイプには事前定義されたキーワードはありません。したがって、代わりにタイプIDを使用する必要があります。 OEM値には通常、元のシステムメーカーに関する情報が含まれています。
28。メモリの物理的範囲を表示する
dmidecodeの魅力的な機能の1つは、DIMMRAMの物理的な範囲全体を視覚化できることです。そのためにタイプID20を使用できます。これは、DMIエントリのメモリデバイスマップアドレスを表します。
$ sudo dmidecode --type 20
このコマンドを実行すると、DIMMの物理的な範囲全体が、ハンドル、列の位置、およびインターリーブされた位置とともに表示されます。このタイプにはキーワードが指定されていないため、ここでIDを使用する必要があります。
29。起動ステータスの表示
システムの起動ステータスには、エラーの存在などの有用な情報が含まれています。システムの起動失敗や自動シャットダウンなどの問題をトラブルシューティングするときは、起動ステータスを確認することをお勧めします。次の例では、dmidecodeタイプを使用してこのジョブを実行します。
$ sudo dmidecode --type 32
この情報は、systemキーワードを使用して取得することもできます。ただし、その結果にはさらに多くの追加情報が含まれます。
30。コア数とスレッド数を表示する
最新のプロセッサは、CPUリソースをより有効に活用するために、複数のコアとスレッドを提供します。コアは実際のハードウェアコンポーネントですが、スレッドは仮想コンポーネントです。プロセッサは、これらのコンポーネントを使用してマルチタスク機能を可能にします。以下のdmidecodeコマンドは、マシンで使用可能なプロセッサコアとスレッドの数を取得します。
$ sudo dmidecode --type 4 | grep -iw count
このコマンドを実行すると、明確な結果が得られるはずです。 Linuxのgrepコマンドを使用して、関心のある情報を除外しました。
31。ディスプレイプロセッサの速度
LinuxおよびBSDユーザーは、dmidecodeを使用してプロセッサーの速度を出力できます。プロセッサの速度は通常、MHzまたはGHzです。システムメーカーは、過熱などを防ぐためにプロセッサの速度を下げることがよくあります。次のコマンドは、プロセッサでサポートされている最大速度とその現在の速度を出力します。
$ sudo dmidecode --type 4 | grep -i speed
この情報は、プロセッサをオーバークロックしたり、加熱の問題をトラブルシューティングしたりする場合に役立ちます。ただし、自分が何に取り組んでいるのかを理解していない限り、オーバークロックしないでください。
32。起動オプションの表示
Linuxブートローダーは、ブートテーブルに従ってシステムを起動する責任があります。最新のオペレーティングシステムは、USBブート、CDブート、ネットワークブートなどの複数のブートオプションを提供します。 dmidecodeユーティリティを使用して、BIOSでサポートされている起動オプションを確認できます。
$ sudo dmidecode --type 0 | grep -i boot
上記のコマンドは、BIOSが選択可能なブート、CD / USBからのブート、およびネットワークブートをサポートしていることを通知します。お気に入りのLinuxターミナルでこのコマンドを試して、自分のコマンドを確認してください。
33。キャッシュサイズを表示する
最新のプロセッサには、複数レベルのキャッシュが含まれています。低レベルのキャッシュは高速ですが、小さくなります。高レベルのキャッシュは大きくなりますが、かなり遅くなります。 dmidecodeを使用して、キャッシュレベルとそのサイズを出力できます。以下のコマンドを見て、これが実際に動作していることを確認してください。
$ sudo dmidecode --type 7 | grep -i size
このコマンドは、プロセッサキャッシュのインストール済みサイズと最大サイズを表示します。 grepの代わりにsizeパラメーターを使用して、より具体的なデータを取得できます。 Linux grepコマンドの詳細については、このガイドにアクセスしてください。
34。 RAM速度を表示する
RAMまたはメモリは、システムの最も重要な要素の1つです。多くのユーザーは、システムに適切なRAMモジュールをインストールしていません。これにより、パフォーマンスが低下します。以下のdmidecodeコマンドを使用して、RAMの速度を確認します。
$ sudo dmidecode --type 17 | grep -i speed
使用可能なRAMスロットの数、サポートされている最大速度、および現在構成されている速度に関する情報を提供します。したがって、メモリのアップグレードを検討している場合は、現在のメモリをすばやく確認してから、決定を下してください。
35。最大RAM容量を表示する
ほとんどのシステムは、限られた量のRAMしか収容できません。後でビルドをアップグレードする場合は、システムでサポートされている最大RAM容量を知る必要があります。次のdmidecodeの例を使用して、お気に入りのLinuxシェルからこの容量を取得できます。
$ sudo dmidecode --type 16 | grep -i maximum
これは非常に単純ですが、dmidecodeの効果的な例です。 Linuxを開始すると、ユーザーはこれらの便利なコマンドを使用してシステムについて多くを学ぶことができます。
36。インストールされているRAM容量を表示する
前の例で、マシンでサポートされている最大RAM容量を確認する方法を学びました。次の例は、現在インストールされているRAMのサイズを見つける方法を示しています。
$ sudo dmidecode --type 17 | grep -i size
このコマンドは、メモリスロットに現在インストールされているRAM容量を表示します。ほとんどのシステムは通常、複数のRAMスロットを提供します。したがって、マシンでサポートされている追加のRAMの量を簡単に判断できます。いずれかのスロットにRAMがインストールされていない場合は、モジュールがインストールされていないという通知が表示されます。
37。シャーシのシリアル番号を表示する
シャーシのシリアル番号は一意の識別子として機能します。次のコマンドを使用すると、この番号を非常に簡単に表示できます。
$ sudo dmidecode --string chassis-serial-number $ sudo dmidecode --type 3 | grep -i serial
したがって、 –stringのいずれかを使用できます パラメータまたは–type パラメータ。 grepコマンドは、大きなDMI出力から情報を除外するのに役立ちます。
38。 dmidecodeバージョンを表示
次のターミナルコマンドを使用して、dmidecodeのバージョン番号を調べることができます。新規ユーザーは、このコマンドを使用して、現在のパスからdmidecodeにアクセスできるかどうかを確認できます。
$ dmidecode --version
最近のほとんどのLinuxディストリビューションにはdmidecodeが付属しているため、システムにはすでにdmidecodeがインストールされている必要があります。
39。マニュアルページを表示
dmidecodeのマニュアルページには、このツールを習得するために必要なすべての情報が含まれています。サポートされているすべてのパラメーターとタイプのリストは、ここにあります。 dmidecodeがどのように機能するかについての詳細な説明を探している場合は、このマニュアルを参照してください。
$ man dmidecode
マニュアルはインターネットからもアクセスできます。ただし、LinuxバージョンとBSDバージョンの間にはいくつかの違いがある場合があります。したがって、代わりにmanコマンドを使用することをお勧めします。
40。ヘルプページを表示
ヘルプページには、サポートされているすべてのパラメータとその使用法の簡潔なリストが含まれています。これは、利用可能なオプションの概要が必要な場合に便利です。
$ dmidecode --help
dmidecodeユーティリティでサポートされているすべてのパラメータの要約情報が提供されます。
終わりの考え
Linux dmidecodeコマンドは、ハードウェアのトラブルシューティングやアップグレードなど、さまざまな状況で役立ちます。ただし、dmidecodeによって提供される情報は常に正確であるとは限りません。多くの場合、日常のユーザーが使用できない、不明な、非アクティブな、またはOEM固有のエントリを提供する可能性があります。私たちは、実際の管理作業で最も効果的なコマンドを特定するために最善を尽くしました。さらに、dmidecodeには sudoが必要です DMIテーブルと直接対話するための特権。 sudo を入力したくない場合は、rootユーザーに切り替えることができます 毎回。このガイドに関するコメントを残して、Linuxターミナルコマンドをさらに入手してください。