GNU/Linux >> Linux の 問題 >  >> Linux

サーバーが仮想か物理かを確認するためのターミナルコマンド?

実行中のユーザーがsudoersグループに属している必要がなく、ユニバーサルであり、追加のパッケージをインストールする必要がないターミナルコマンドを探しています。これまでのところ、システムにsystemdがインストールされている場合は、次を使用できることがわかりました。

$ hostnamectl status
   Static hostname: mint
         Icon name: computer-laptop
           Chassis: laptop
        Machine ID: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
           Boot ID: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  Operating System: Linux Mint LMDE
            Kernel: Linux 3.16.0-6-amd64

アイコン名とシャーシの下に、VMか物理マシンかがわかります。しかし、lscpuを使用できるかどうか疑問に思いました。 、特にhostnamectlよりも普遍的な方法であるため systemdは必要ありません。私の理論では、CPUにコアごとに1つのスレッドしかなく、最小および最大CPU周波数もリストされていない場合、これはサーバーが実際に仮想化されていることを示しているはずです。

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 60
Model name:            Intel(R) Core(TM) i7-4710HQ CPU @ 2.50GHz
Stepping:              3
CPU MHz:               2500.488
CPU max MHz:           3500.0000
CPU min MHz:           800.0000
BogoMIPS:              4988.18
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              6144K
NUMA node0 CPU(s):     0-7

CPUのコアあたりのスレッド数が1つしかない場合でも、それが確実にVMであるとは限りませんが、最近のすべてのCPUにはコアあたり2つのスレッドが必要であり、さらに、 lscpuの最小および最大CPU周波数 出力。

承認された回答:

与えられた条件下で:

実行中のユーザーがsudoersグループに属している必要がなく、ユニバーサルであり、追加のパッケージをインストールする必要がないターミナルコマンド。

所有者が意図的にOSがVMであるという事実を隠そうとはしなかった、変更されていないVMの最も簡単な方法は、

です。
cat /sys/class/dmi/id/product_name

その他の可能性:

  • 仮想化を検出する方法
  • Linuxシステムが物理マシンか仮想マシンかを確認する16の方法

OP作成者の条件以外にも、次のようなより複雑なアプローチがあります。私はどこにいますか?システムコールなしのオペレーティングシステムと仮想化の識別


Linux
  1. ターミナルでLinuxサーバーの地理的位置を見つける方法

  2. Linuxで特定のプロセスを実行しているCPUコアを見つける4つの方法

  3. Mac OS X ターミナルの ip コマンド

  1. LinuxターミナルでサーバーのパブリックIPアドレスを見つける4つの方法

  2. OSX端末コマンドでディレクトリ内のファイル数をカウントする

  3. OS が仮想環境で実行されているかどうかを調べる

  1. Linuxコマンドが何をするかを知る方法

  2. Oracle VM (XEN) で仮想/物理 CPU 情報を取得する方法

  3. Linux:サーバーにログインしているユーザーを見つける