কোনও সার্ভার ভার্চুয়াল বা শারীরিক কিনা তা নির্ধারণের জন্য টার্মিনাল কমান্ড


13

আমি একটি টার্মিনাল কমান্ড সন্ধান করছি যা এক্সিকিউটিভ ব্যবহারকারীকে sudoers গ্রুপে থাকা এবং সর্বজনীন হতে হবে এবং অতিরিক্ত প্যাকেজ ইনস্টল করার প্রয়োজন নেই। এখনও অবধি আমি খুঁজে পেয়েছি যে যদি সিস্টেমটি ইনস্টলড থাকে তবে আমি এটি ব্যবহার করতে পারি:

$ 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

এবং আইকন নাম এবং চ্যাসিসের নীচে আমি দেখতে পাচ্ছি এটি ভিএম বা শারীরিক মেশিন কিনা। তবে আমি ভাবছিলাম যে আমি এটি ব্যবহার করতে পারি কিনা lscpu, বিশেষত যেহেতু এটি তুলনামূলকভাবে সর্বজনীন পদ্ধতি hostnamectlএবং এটির জন্য সিস্টেমডের প্রয়োজন হয় না। আমার থিয়োরিটি হ'ল যদি সিপিইউতে কোর প্রতি মাত্র একটি থ্রেড থাকে এবং এছাড়াও সর্বনিম্ন এবং সর্বাধিক সিপিইউ ফ্রিকোয়েন্সি তালিকাভুক্ত না হয় তবে এটি একটি ইঙ্গিত হওয়া উচিত যে সার্ভারটি প্রকৃতপক্ষে ভার্চুয়ালাইজড।

$ 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

আমি জানি যে, সিপিইউতে যদি কোর প্রতি মাত্র একটি থ্রেড থাকে তবে অগত্যা এটি নিশ্চিতভাবে ভিএম হয় না, তবে সমস্ত আধুনিক সিপিইউতে প্রতিটি প্রতি 2 টি থ্রেড থাকা উচিত এবং অতিরিক্ত হিসাবে আমিও বিবেচনায় রাখতে পারি / অভাবের উপস্থিতি lscpuআউটপুটে সর্বনিম্ন এবং সর্বাধিক সিপিইউ ফ্রিকোয়েন্সি ।


4
"সমস্ত আধুনিক সিপিইউগুলিতে কোর প্রতি 2 টি থ্রেড থাকা উচিত" - আপনি এই ধারণাটি কোথায় পাবেন? ইন্টেল এই বছর 20 প্রসেসর প্রকাশ করেছে যে এটি নেই। এবং এটি কেবল ইন্টেল।
মার্চেল

@ মার্কসেল, আমি এটি জানতাম না।
জর্জি স্টোয়ানোভ

2
এমন ব্যবহারের ক্ষেত্রেও রয়েছে যেখানে সেরা পারফরম্যান্সের জন্য বায়োস-এ হাইপারথ্রেডিং বন্ধ করা আবশ্যক।
didal24

উত্তর:


17

প্রদত্ত শর্তাধীন:

টার্মিনাল কমান্ড যার ফলে এক্সিকিউটিভ ব্যবহারকারীকে sudoers গ্রুপে থাকতে হবে এবং সর্বজনীন হতে হবে এবং অতিরিক্ত প্যাকেজ ইনস্টল করার প্রয়োজন নেই।

অপরিশোধিত ভিএমগুলির জন্য স্পষ্টতম সহজ পদ্ধতি, যা মালিকরা ইচ্ছাকৃতভাবে ওএস ভিএম, তা লুকানোর চেষ্টা করেনি,

cat /sys/class/dmi/id/product_name

আরও সম্ভাবনা:

ওপি লেখক শর্তাদি প্রদত্ত বাইরেও এর মতো আরও জটিল পদ্ধতি রয়েছে: আমি কোথায়? অপারেটিং সিস্টেম এবং ভার্চুয়ালাইজেশন সনাক্তকরণ সিস্টেম কল ছাড়াই


1
@ জর্জিস্টোয়ানভ আপনাকে স্বাগতম!
বব

অতিরিক্ত কনফিগারেশন ব্যতীত, একটি libvirt-kvm-VM চলমান চলাকালীন "স্ট্যান্ডার্ড পিসি (i440FX + PIIX, 1996)" হিসাবে দেখায় cat /sys/class/dmi/id/product_name, সুতরাং আমি নিশ্চিত না যে এটি কতটা কার্যকর।
জোনাস শোফার

2
@ জোনাসওয়িলিকি এটি একটি ভাল সংজ্ঞায়িত সিস্টেমের বিবরণ যদিও কোনও কিউইএমইউ-ভিত্তিক ভিএম এর জন্য ডিফল্টরূপে ব্যবহৃত হয়, এবং সাধারণ হার্ডওয়ারে কখনও দেখা যায় না।
অস্টিন হেমেলগার্ন

1
@ জোনাস উইলিকি কিউইএমইউ Standard PC (i440FX + PIIX, 1996)/ কেভিএম ভার্চুয়াল মেশিনগুলির সুপরিচিত ফিঙ্গারপ্রিন্ট। যাইহোক, এই আঙুলের ছাপটি
বব

2
@ জোনাস উইলিকি, pr -t /sys/class/dmi/id/sys_vendor /sys/class/dmi/id/product_nameএই দুটি ফাইলের বিষয়বস্তুতে আপনাকে সিস্টেমটি শারীরিক বা ভার্চুয়াল কিনা তাও বেশ সঠিক ধারণা দিতে হবে।
জর্জি স্টোইনভ

12

এটির জন্যও সিস্টেমড প্রয়োজন (এটি আজকাল বেশ সর্বব্যাপী) তবে systemd-detect-virtএটি শারীরিক বা ভার্চুয়াল হার্ডওয়্যারটিতে চলছে কিনা তা জানার জন্য এটি আরও ভাল সরঞ্জাম।

আপনি যে যুক্তিটি ব্যবহার করেছেন সেগুলি একবার দেখে নিতে পারেন systemd-detect-virt, আপনি লক্ষ্য করতে পারবেন যে এটি বেশ কয়েকটি স্বতন্ত্র ভার্চুয়ালাইজেশন প্রযুক্তিগুলি সনাক্ত করার জন্য এটি অনেক স্থানে দেখায় ...

আমি মনে করি নির্লিপ্ত কিছু যেমন lscpuআউটপুট সন্ধান করা কিছু ক্ষেত্রে কিছু সময় কার্যকর হতে পারে তবে আমি মনে করি এটি খুব কম সময়ই কাজ করবে। এছাড়াও দয়া করে নোট করুন যে অনেক প্রযুক্তিগুলি ভিএমএসের জন্য প্রতিটি কোর প্রতি একাধিক থ্রেড তৈরি করা সম্ভব করে তোলে, তাই আমি এখানেও মনে করি না যে কোনও বিশেষ বৈশিষ্ট্য এখানে কোনও ধরণের নির্ভরযোগ্য সনাক্তকরণের জন্য যথেষ্ট।


আমি ভাবছি যে যদি ন্যূনতম এবং সর্বাধিক ফ্রিকোয়েন্সিটি lscpu থেকে অনুপস্থিত থাকে তবে এটিও ইঙ্গিত হতে পারে যে মেশিনটি আসলে ভিএম M তবে আপনার পদ্ধতিটি আরও নির্ভরযোগ্য বলে মনে হচ্ছে।
জর্জি স্টোয়ানোভ

1
@ জর্জিস্টোয়ানভ এর অর্থ এইও হতে পারে যে ফ্রিকোয়েন্সি স্কেলিং অন্য কোনও কারণে সম্পূর্ণভাবে অক্ষম করা হয়েছে, সুতরাং এটি নির্ভরযোগ্য নয়।
অস্টিন হেমেলগার্ন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.