ভার্চুয়ালবক্সের মেমরির ব্যবহার কীভাবে কাজ করে?


38

আমি ভার্চুয়ালবক্সের সাথে বেশ কয়েকটি ভিএম চালিয়ে যাচ্ছি, এবং বিভিন্ন দৃষ্টিকোণ থেকে মেমরির ব্যবহারের প্রতিবেদন করা হয়েছে এবং আমার ভিএমগুলি আসলে কতটা মেমরি ব্যবহার করে তা বুঝতে আমার সমস্যা হচ্ছে। এখানে একটি উদাহরণ:

  • আমার উইন্ডোজ এক্সপি হোস্ট মেশিনে আমার একটি ভিএম চলছে উইন্ডোজ 7 (অতিথি ওএস হিসাবে)।
  • হোস্ট মেশিনটিতে 3 জিবি র‌্যাম রয়েছে
  • গেস্ট ভিএম 1 গিগাবাইটের বেস মেমরির জন্য সেটআপ করা আছে
  • আমি যদি গেস্ট ওএসে টাস্ক ম্যানেজারটি চালনা করি তবে আমি 430 এমবি মেমরির ব্যবহার দেখতে পাচ্ছি
  • যদি আমি হোস্ট ওএসে টাস্ক ম্যানেজারটি চালনা করি তবে আমি 3 টি প্রক্রিয়া দেখতে পাচ্ছি যা ভার্চুয়ালবক্সের অন্তর্গত বলে মনে হচ্ছে:
    1. ভার্চুয়ালবক্স.এক্সএই (1), 60 এমবি মেমরি ব্যবহার করে (এটির মধ্যে সর্বাধিক সিপিইউ ব্যবহার রয়েছে বলে মনে হয়)
    2. ভার্চুয়ালবক্স.এক্সি (2), 20 এমবি মেমরি ব্যবহার করে
    3. VBoxSvc.exe, 11.5 মেগাবাইট মেমরি ব্যবহার করে
  • ভিএম চালানোর সময়, হোস্ট ওএসের মেমরির ব্যবহার প্রায় 2 জিবি
  • আমি যখন ভিএম বন্ধ করে দিই, তখন হোস্ট ওএস এটি মেমরির ব্যবহারে ফিরে যায় প্রায় 900 এমবিতে চলে যায়

সুতরাং পরিষ্কার, এখানে কিছু বিশাল পার্থক্য আছে। অতিথিরা কীভাবে 400+ এমবি ব্যবহার করতে পারে তা আমি সত্যিই বুঝতে পারি না, যখন হোস্ট ওএস কেবল ভিএমকে বরাদ্দ করা প্রায় 75 এমবি দেখায়। ভার্চুয়ালবক্সের দ্বারা ব্যবহৃত অন্যান্য প্রক্রিয়া রয়েছে যা স্পষ্টভাবে নাম দেওয়া হয়নি?

এছাড়াও, আমি জানতে চাই যে আমি 1 জিবি দিয়ে কোনও মেশিন চালাচ্ছি কিনা, তা কি আমার হোস্ট ওএস থেকে 1 জিবি দূরে নিয়ে যাচ্ছে, বা অতিথির মেশিনটি বর্তমানে যে পরিমাণ মেমরি ব্যবহার করছে?

হালনাগাদ:

কেউ আমার স্মৃতি ব্যবহারের সংখ্যার উপর অবিশ্বাস প্রকাশ করেছিলেন এবং আমি নিশ্চিত নই যে সেই অবিশ্বাস আমার দিকে পরিচালিত হয়েছিল, বা আমার হোস্ট ওএসের টাস্ক ম্যানেজারের রিপোর্টিং (যা সম্ভবত অপরাধী) তবে কোনও সন্দেহবাদীদের জন্য এখানে সেই প্রক্রিয়াগুলির একটি স্ক্রিনশট দেওয়া হয়েছে হোস্ট মেশিনে:

ভার্চুয়ালবক্স টাস্ক ম্যানেজার


আমি ঠিক একই জিনিসটি আগে আজ দু'টি ভিবিক্স ভিএম একবারে চালানোর সময় ভাবছিলাম।
মার্টডাব্লু

টাস্ক ম্যানেজারে, অন্যান্য কয়েকটি মেমরি কলাম চালু করুন (দেখুন-> কলাম নির্বাচন করুন ...)। মেমোরিটি উইন্ডোজে বিভিন্ন উপায়ে গণনা করা হয়। উদাহরণস্বরূপ, "কমিট কমাইজ" নাটকীয়ভাবে "মেমোরি ইউজেজ" এর চেয়ে বেশি হতে পারে। ঠিক কীটি ব্যবহার করবেন এবং কীভাবে সেগুলি ব্যাখ্যা করবেন তা ভিন্ন গল্প।
lilbyrdie

সম্ভাব্য সদৃশ: superuser.com/q/17266/302
রোল্যান্ড শ

উত্তর:


12

টাস্ক ম্যানেজারের একমাত্র জায়গা যা পুরো পরিমাণটি প্রতিফলিত করে বলে মনে হয় তা পারফরম্যান্স ট্যাবে the মোট কমিট চার্জের মান মোটামুটি ভিএমকে বরাদ্দকৃত পরিমাণের সাথে তাল মিলিয়ে রাখে। আমি বরাদ্দকৃত 1536 এমবি দিয়ে একটি বন্ধ করে দিয়েছি এবং প্রতিশ্রুতি চার্জটি প্রায় 2.4GB থেকে 0.8GB তে নেমে গেছে to পারফরম্যান্স মনিটর ব্যবহার করে এবং ভার্চুয়াল বক্সের বিপরীতে আপনি কিছুটা পর্যবেক্ষণ করতে পারেন এবং প্রক্রিয়াটি বেছে নিতে: ভার্চুয়ালবক্স, ভিবক্সএসভিসি, এবং ভার্চুয়ালবক্স # 1, # 2 ইত্যাদি ইত্যাদির জন্য ব্যক্তিগত বাইটস কাউন্টারগুলি (প্রতিটি চলমান ভিএম এর জন্য একটি)। মেমোরিটিও রয়েছে: প্রতিটি কিছুর জন্য প্রতিশ্রুতিবদ্ধ বাইটস counter


ওপিকে কী বরাদ্দ দেওয়া হয়েছে তাতে বিশেষভাবে আগ্রহী বলে মনে হচ্ছে না তবে কী ব্যবহার হচ্ছে তা জিজ্ঞাসা করছে। সুতরাং আমি নিশ্চিত না যে এটি তার প্রশ্নের সাথে কীভাবে সম্পর্কিত।
ডেভিড শোয়ার্টজ

12

ভার্চুয়ালবক্সের প্রক্রিয়া আর্কিটেকচারটি বুঝতে
ভার্চুয়ালবক্স আর্কিটেকচারটি দেখুন :

আপনি একবার জিইউআই থেকে ভার্চুয়াল মেশিন (ভিএম) শুরু করলে আপনার দুটি উইন্ডোজ (মূল উইন্ডো এবং ভিএম) থাকে তবে তিনটি প্রক্রিয়া চলমান থাকে। টাস্ক ম্যানেজার (উইন্ডোজে) বা কিছু সিস্টেম মনিটর (লিনাক্সে) থেকে আপনার সিস্টেমটির দিকে তাকালে আপনি এটি দেখতে পাবেন:

  1. ভার্চুয়ালবক্স, মূল উইন্ডোর জিইউআই;
  2. আর একটি ভার্চুয়ালবক্স প্রক্রিয়া যা -startvm প্যারামিটার দিয়ে শুরু হয়েছিল, যার অর্থ এটির জিইউআই প্রক্রিয়া একটি ভিএম এর শেল হিসাবে কাজ করে;
  3. VBoxSVC, উপরে উল্লিখিত পরিষেবা, যা জড়িত সমস্ত প্রক্রিয়াটির উপর নজর রাখতে পটভূমিতে চলছে। এটি স্বয়ংক্রিয়ভাবে প্রথম জিইউআই প্রক্রিয়া দ্বারা শুরু হয়েছিল।

মেমরি সম্পর্কিত হিসাবে, ব্যবহারকারী ম্যানুয়াল বলেছেন:

বেস মেমরি

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

এর অর্থ অতিথি হোস্টের বাইরে চলে যায়:

  • যত স্মৃতি তা দিয়ে ঘোষিত হয়েছিল
  • প্রতিটি ভিএম হ'ল ভার্চুয়ালবক্স এক্সিকিউটেবল, তাই আপনাকে এর স্মৃতি যুক্ত করতে হবে।

ভার্চুয়ালবক্স ম্যানুয়ালটি বেশ কয়েকটি সংস্করণ পিছনে রয়েছে এবং সর্বশেষ মেমরি অপ্টিমাইজেশান কৌশলটি নথিভুক্ত নয় এটি সর্বদা সম্ভব।

তদতিরিক্ত, ভার্চুয়ালবক্স পুরো সংজ্ঞায়িত ভিএম মেমরির বরাদ্দ না করে মেমরির ব্যবহারটি অনুকূল করতে পারে।

প্রয়োজনীয় হিসাবে মেমরি বরাদ্দ করা একটি অপ্টিমাইজেশন যা শারীরিক স্মৃতিতে অনেক কিছু সঞ্চয় করতে পারে তবে ভার্চুয়ালবক্সের দ্বারা আরও হোস্ট মেমরির জন্য অনুরোধ করার জন্য ভিএম-র মধ্যে মেমরি-নিবিড় প্রক্রিয়াগুলি ধীর হয়ে যেতে পারে।


8
এটি ভার্চুয়ালবক্স নির্দিষ্ট নয় - এটি দেখুন: সার্ভারসফল্ট
প্রশ্নগুলি

@harrymc, তাই আপনি যা বলছেন তা হচ্ছে টাস্ক ম্যানেজার প্রক্রিয়া তালিকায় দেখায় না যে মেমরি ভার্চুয়াল বাক্সটি কতটা ব্যবহার করছে?
ট্রেভর বয়েড স্মিথ

@ ট্র্যাভারবয়ডস্মিথ: আমি শুধু বলছি যে একাধিক প্রক্রিয়া জড়িত এবং টাস্ক ম্যানেজারে সঠিকভাবে কলামগুলি বেছে নিতে পারে।
হ্যারিএমসি

2
আমার ভিএম 1.2 গিগাবাইট নেয় টাস্ক ম্যানেজারে এটি কেবল 60 এমবি দেখায়। সুতরাং আমি দাবি করব যে টাস্ক ম্যানেজার আমার ভিএম ব্যবহার করছে এমন সমস্ত মেমরি প্রদর্শন করে না। আপনি যদি কোনওভাবে আমাকে 1.2gb দেখানোর জন্য কীভাবে টাস্ক ম্যানেজারটিকে টুইট করতে পারেন তা আমাকে প্রদর্শন করতে না পারেন।
ট্রেভর বয়েড স্মিথ

1
এই সম্পূর্ণ কথোপকথন এবং সমস্ত উত্তরগুলি ভার্চুয়াল মেমরি এবং শারীরিক মেমরির মধ্যে একটি বিভ্রান্তির মধ্যে কেবল বৈচিত্র।
ডেভিড শোয়ার্টজ

4

এটি একটি উইন্ডোজ সমস্যা বলে মনে হচ্ছে। তৃতীয় পোস্টটি এখানে দেখুন: http://forum.sysinternals.com/pe-is-not-show-all-memory-used-by-virtualbox_topic23886.html

ভিএমএমএপের মতো একটি প্রোগ্রাম ব্যবহার করা অবশ্যই নিশ্চিত করে যে আপনি ভিবিক্সকে যে মেমরিটি ব্যবহার করতে বলছেন তা বাস্তবে ব্যবহৃত হচ্ছে। এটি কেন টাস্ক ম্যানেজার বা প্রক্রিয়া এক্সপ্লোরারের কাছে দৃশ্যমান নয় ধারণা নেই।


2

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


1

ভার্চুয়ালবক্স অতিথি সংযোজনের সাথে সম্পর্কিত হতে পারে।

আমার উবুন্টু ইনস্টলটি বর্তমানে উইনএক্সপি-র হিসাবে প্রতিবেদন হিসাবে M 20MB ব্যবহার করছে। এটি VBoxAdditions এর সাথে।

আমার লুবুন্টু ইনস্টলটি বর্তমানে উইনএক্সপি-র হিসাবে প্রতিবেদন করা হিসাবে ~ 90MB ব্যবহার করছে। সবে এটি ইনস্টল করা; ভিবক্সএডিশনগুলি ইনস্টল করা হয়নি।

ভিএম যা করছে তার দ্বারা মেমরির ব্যবহারের পরিবর্তিত হয়। আমার উবুন্টু ইনস্টল করে চলছে জিপ্রোক্সি; আমি যখন জিপ্রোক্সির সাথে কথা বলে এমন কিছু করি তখন ভিএম ব্যবহারের সাথে সাথে মেমরির ব্যবহার কয়েক মেগাবাইট বাড়িয়ে তোলে।

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


1

সুতরাং পরিষ্কার, এখানে কিছু বিশাল পার্থক্য আছে। অতিথিরা কীভাবে 400+ এমবি ব্যবহার করতে পারে তা আমি সত্যিই বুঝতে পারি না, যখন হোস্ট ওএস কেবল ভিএমকে বরাদ্দ করা প্রায় 75 এমবি দেখায়। ভার্চুয়ালবক্সের দ্বারা ব্যবহৃত অন্যান্য প্রক্রিয়া রয়েছে যা স্পষ্টভাবে নাম দেওয়া হয়নি?

আপনি কি হচ্ছে এ খুঁজছেন ব্যবহৃত হোস্ট, কি হচ্ছে না বরাদ্দ । অতিথি হোস্টের র‌্যামের 400+ এমবি ব্যবহার করছেন না (এখনও)।

এছাড়াও, আমি জানতে চাই যে আমি 1 জিবি দিয়ে কোনও মেশিন চালাচ্ছি কিনা, তা কি আমার হোস্ট ওএস থেকে 1 জিবি দূরে নিয়ে যাচ্ছে, বা অতিথির মেশিনটি বর্তমানে যে পরিমাণ মেমরি ব্যবহার করছে?

এটি 1 গিগাবাইট র‌্যাম রিজার্ভ করবে, তবে এটি এর চেয়ে উল্লেখযোগ্যভাবে কম ব্যবহার করতে পারে। অতিথি যদি সেই মেমরিটির কিছু ব্যবহার না করে তবে অতিথির জন্য সংরক্ষিত থাকা সত্ত্বেও, হোস্ট র‌্যাম অন্যান্য অনেক উদ্দেশ্যে (যেমন ক্লিন ডিস্ক পৃষ্ঠাগুলি ক্যাশে করা যায়) ব্যবহার করা যেতে পারে। এমনকি অতিথি যদি সেই স্মৃতি থেকে কিছু ব্যবহার করে, যদি এটি এটি যথেষ্ট দীর্ঘকাল ধরে অ্যাক্সেস না করে তবে এটি সুবিধাবাদী অদলবদলের মাধ্যমে শারীরিক স্মৃতি থেকে বেরিয়ে আসতে পারে।

দুর্ভাগ্যক্রমে, আপনি একটি অত্যন্ত জটিল সমস্যায় জড়িয়ে পড়েছেন এবং সত্যই এটি ব্যাখ্যা করতে এটি অনেক পৃষ্ঠা নেবে। এই প্রশ্নের উত্তরে অনেক ভুল তথ্য রয়েছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.