আমাদের 1 জিবি মেমরি সহ একটি সিস্টেম রয়েছে। এর মধ্যে, আমি লিনাক্সের জন্য কেবল 512MB সীমাবদ্ধ করতে চাই এবং লিনাক্সে চালিত কোনও অ্যাপ্লিকেশন থেকে সরাসরি 512MB অবধি অ্যাক্সেস করতে চাই।
২.6.x এ অর্জনের প্রস্তাবিত অর্থ কী?
শুভেচ্ছা, প্রব
আমাদের 1 জিবি মেমরি সহ একটি সিস্টেম রয়েছে। এর মধ্যে, আমি লিনাক্সের জন্য কেবল 512MB সীমাবদ্ধ করতে চাই এবং লিনাক্সে চালিত কোনও অ্যাপ্লিকেশন থেকে সরাসরি 512MB অবধি অ্যাক্সেস করতে চাই।
২.6.x এ অর্জনের প্রস্তাবিত অর্থ কী?
শুভেচ্ছা, প্রব
উত্তর:
আপনি লিনাক্স চালাচ্ছেন - আপনার মেশিনের সমস্ত মেমরি লিনাক্সের জন্য উপলব্ধ যাতে লিনাক্স সেগুলি আপনার প্রোগ্রামে দিতে পারে।
সিস্টেমে যদি 512 এমবি বিনামূল্যে উপলব্ধ থাকে তবে এটি এটি আপনার প্রোগ্রামকে দেবে, তা না পারলে তা পারবে না।
512 এমবি র্যামে লক হয়ে গেছে (ডিস্কে সরে যেতে পারে না) এটির জন্য আপনি অতিরিক্ত পদ্ধতি ব্যবহার করতে পারেন তবে আমার সন্দেহ হয় এটি আপনার যা করা দরকার তা ছাড়িয়ে।
কেবলমাত্র আমি যা ভাবতে পারি তা হ'ল আপনার অ্যাপ্লিকেশন ম্যালোক () 512 ম্যাগ শুরু হয় যখন এটি প্রথম শুরু হয় এবং তারপরে প্রোগ্রামের মধ্যে মেমরিটিকে ম্যানুয়ালি ভাগ করে দেওয়া হয়। ও ছেলে ওহ ছেলে যে কুরুচিপূর্ণ।
আমি আসলেই প্রশ্নটি বুঝতে পারি না; আপনাকে আপনার উদ্দেশ্যটি আরও স্পষ্টভাবে ব্যাখ্যা করতে হবে।
লিনাক্স অ্যাপ্লিকেশনগুলিতে তার মেমরি বরাদ্দ করে, তাই যদি লিনাক্সের মেমরি থাকে তবে এটি এটি আপনার অ্যাপ্লিকেশনটিতে দেবে।
আপনি যদি এখন অবশ্যই মেমরি পেতে চান, এখন আপনার উচিত
আপনার প্রোগ্রামটি মূলত যে পৃষ্ঠাগুলি ব্যবহার করে সেগুলি সত্যই যদি আপনার প্রয়োজন হয় তবে মলকল ব্যবহার করুন।
এর সাথে একটি 512MB বেনামে ম্যাপিং বরাদ্দ করুন mmap()এবং MAP_POPULATEতারপরে এটি লক করুন mlock()।
আপনার অ্যাপ্লিকেশনটি "ডিআইএমএম 2, চিপ 3, 42 ম বাইট" এর সাথে কথা বলতে পারে না। লিনাক্স সহ সিস্টেমের অন্যান্য অংশগুলির প্রয়োজন মেমরির প্রতিটি বাইটে একটি সাধারণ সংখ্যা (ঠিকানা) নির্ধারণ করার জন্য। আপনি যদি লিনাক্স থেকে 512 এমবি বাদ দেন তবে এটির একটি ঠিকানাও থাকবে না। তার মানে আপনার অ্যাপ্লিকেশনটি মেমরির বিষয়ে কথা বলতেও পারে না, এটি ব্যবহার করতে দিন।
আরও সমস্যা হবে; যেমন হাইবারনেট ফাংশন ঘুম থেকে ওঠার সময় স্মৃতি পুনরুদ্ধার করবে না। তবে এটি সমস্ত তাত্ত্বিক, যেহেতু স্মৃতিতে কোনও কিছুই থাকবে না - ঠিকানা ছাড়াই, মেমরিতে লেখার উপায় নেই।