Tôi đang tìm kiếm một lệnh đầu cuối không yêu cầu người dùng thực thi phải thuộc nhóm sudoers và cũng phải phổ quát và không yêu cầu cài đặt các gói bổ sung. Cho đến nay tôi đã thấy rằng nếu hệ thống đã cài đặt systemd thì tôi có thể sử dụng:
$ 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
và bên dưới Tên biểu tượng và Khung gầm tôi có thể thấy nếu đó là VM hoặc máy vật lý. Nhưng tôi đã tự hỏi nếu tôi có thể sử dụng lscpu
, đặc biệt là vì nó là phương pháp phổ quát hơn hostnamectl
và nó không yêu cầu systemd. Lý thuyết của tôi là nếu CPU chỉ có một luồng trên mỗi lõi và cũng không được liệt kê tần số CPU tối thiểu và tối đa thì đây sẽ là một dấu hiệu cho thấy máy chủ thực sự được ảo hóa.
$ 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
Tôi biết rằng nếu CPU chỉ có một luồng trên mỗi lõi thì không nhất thiết có nghĩa là VM chắc chắn, nhưng sau đó tất cả các CPU hiện đại nên có 2 luồng cho mỗi lõi và ngoài ra tôi cũng có thể tính đến việc thiếu / hiện diện tần số CPU tối thiểu và tối đa trong lscpu
đầu ra.