কার্নেল মেমরির আকার বৃদ্ধি করা


14

আমার কাছে একটি এম্বেড বোর্ড রয়েছে যা 512 এমবি র‌্যামের সাথে লিনাক্স 2.6.29 এবং ইউবুট বুটলোডার চালিত করে। তবে কার্নেলটি কেবল 128 এমবি র‌্যাম ব্যবহার করতে সক্ষম।

আমি এর মান পরিবর্তনের চেষ্টা করেছি XCODE_MEMSIZE, যা আমি মনে করি কার্নেল কতটা র্যাম ব্যবহার করে তা নির্ধারণ করে।

আমি যখন এটি 512 এ সেট করি তখন বুট করার সময় কার্নেলটি ক্র্যাশ হয়ে যায়। অন্য কোনও কনফিগারেশন প্যারামিটার রয়েছে যা পরিবর্তন করা দরকার?


আপনি যে ক্র্যাশটির কথা উল্লেখ করেছেন তাতে কি আপনি আরও সুনির্দিষ্ট হতে পারেন? আপনি পর্দায় কি দেখতে পাচ্ছেন? কোন ত্রুটি?
স্ট্রাফকা


'128MB কেবলমাত্র ব্যবহার করতে সক্ষম' সম্পর্কে আরও বিশদ সরবরাহ করতে হবে। দেখে মনে হচ্ছে যে কোনও কিছু সীমাবদ্ধ করা হয়েছে (ব্যবহারকারী হিসাবে স্ট্যাক আকার, ইত্যাদি)।
বহুব্যাপী

ইউ বুট সনাক্তকরণের কত স্মৃতি? এটি কী পুরো 512MB আবিষ্কার করে?
ফ্রিথিংকার

cat /proc/cmdlineআপনার বোর্ডে আপনাকে কী বলে ?
অঙ্কুর আগরওয়াল

উত্তর:


3

আপনার এম্বেডড বোর্ডের আরও নির্দিষ্ট জ্ঞান ছাড়াই দুটি বিষয় মাথায় আসে।

  1. কার্নেল mem=বুট পরামিতি চেষ্টা করুন । (আমি মনে করি কখনও কখনও স্মৃতিটি অবিচ্ছিন্ন ঠিকানা থেকে উপলব্ধ হতে পারে তাই আপনাকে এরকম কিছু ব্যবহার করতে হতে পারে তবে ঠিকানাগুলি আপনার প্রতি মবোতে চেক করতে হবে।

    মেম = 512 এম @ 0 মেম = 256 এম @ 0x80000000 মেম = 256 এম = 0xc0000000

  2. আপনার গ্রাফিক্স কার্ড এম্বেড আছে? এটি আপনার উপলভ্য মেষটির একটি অংশ বের করতে পারে। আপনি যদি বায়োস বা সমমানের কাছে যেতে পারেন তবে এটি পরীক্ষা করে দেখুন।

আরও তথ্যের জন্য @see কার্নেল পরামিতিগুলি দেখুনmem=


আপনাকে 512 এম এর চেয়ে কম মান নির্দিষ্ট করতে হবে - বোর্ডের মেমরি মানচিত্রে সম্ভবত কোনও ডিভাইস বা শারীরিক ঠিকানা 0x20000000 (512 এম) এর কাছাকাছি কিছু রয়েছে, যা আপনার বোর্ডে র‌্যামটি কোথায় থাকে তা জানতে আপনার একটি অনুলিপি পাওয়া উচিত।
LawrenceC

1

আমার ধারণা RAM Diskআপনার কার্নেলের আকার বাড়ানো উচিত ।


-1

আরও সুনির্দিষ্ট হওয়ার বিষয়ে অন্যান্য পোস্টগুলির পাশাপাশি, /dev/shmএটি মাউন্ট করা থাকলে আমি আনমাউন্টিংয়ের পরামর্শও দেব । এটি একটি র‌্যামডিস্ক ফাইল সিস্টেম এবং আপনার র‌্যামে খায়।

sysctlলিনাক্সের কমান্ডটি একবার দেখুন । sysctl -w kernel.shmmax="<some number>"কার্নেল চলার সময় পরিবর্তন করার মতো কিছু করা ।


4
/ dev / shm খালি থাকলে সবেমাত্র কোনও স্মৃতি ব্যবহার করে। ফাইলগুলি এতে লোড হয়ে গেলে এটি কেবল র্যাম ব্যবহার শুরু করবে।
প্যাট্রিক

/ dev / shm traditionalতিহ্যবাহী ভাগ করা মেমরি ধারণার বাস্তবায়ন ছাড়া কিছুই নয়। এটি প্রোগ্রামগুলির মধ্যে ডেটা পাস করার একটি কার্যকর উপায়। একটি প্রোগ্রাম একটি মেমরি অংশ তৈরি করবে, যা অন্যান্য প্রক্রিয়া (যদি অনুমতি দেওয়া হয়) অ্যাক্সেস করতে পারে। এটি লিনাক্সে জিনিসগুলিকে গতি বাড়িয়ে তুলবে।
সতীশ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.