Ram Optimization: প্রথম পর্ব (এন্ড্রয়েড)

Sanjib Sen
4 min readJan 31, 2021

প্রশ্নঃ ভাই, আমার পিক্সেল ৪ এক্সএল ফোনের র‍্যাম ৪ জিবি। আমার বন্ধুর স্যামসাং গ্যালাক্সি ফোনের র‍্যাম ১২ জিবি। তাহলে আমার বন্ধু আমার থেকে তিন গুন বেশি পারফর্মেন্স পাবে তাইনা?

প্রশ্নঃ ভাই আমার তো তিন জিবি র‍্যাম পিসিতে, এইজন্যই উইন্ডোজ ৭ চালাই। উইন্ডোজ ১০ নাকি প্রচুর র‍্যাম খায়।আমার ডিসিশন ঠিক না বলেন?

প্রশ্নঃ ভাই উইন্ডোজ ১০ এ কিছু নাই করলেই ২-২.৫ জিবি র‍্যাম নাই। এইজন্যে লিনাক্স বেটার। উইন্ডোজ সব ব্লোটওয়ার দিয়ে ভর্তি।

প্রশ্নঃ ভাই আমার রিয়েলমি ফোনের র‍্যাম ৬ জিবি। বাট এর মধ্যে ৪ জিবিই সিস্টেম খেয়ে বসে থাকে। বাকি থাকে ২ জিবি র‍্যাম। আর আমার বন্ধুর শাওমি তে ৪ জিবির মধ্যে দুই জিবি খালি থাকে। তাইলে আমার ৬ জিবি র‍্যামের ফোন কিনে কি লাভ টা হইল?হুদাই কিনসি এত টাকা দিয়ে রিয়েলমি।

উত্তরঃ না, আপনি বর্তমান Technology এর আধুনিক অপারেটিং সিস্টেম গুলোর র‍্যাম অপ্টিমাইজেশন নিয়ে পুরোপুরি অবগত নন। অবশ্য আপনার দোষ ও দেয়া যায়না। কেননা ৪-৫ বছর আগেই যে অ্যালগরিদম ইউজ করে সিস্টেম মেমোরি Utilize হতো ত ছিল এরকম ই অনেকটা। বেশি Ram বেশি পার্ফরম্যান্স। কিন্তু টেকনোলজির প্রসারতার সাথে সাথেও Ram অপটিমাইজেশন এর ব্যাপারটিও অনেক দূর এগিয়েছে। এখন এন্ড্রোয়েড বা উইন্ডোজ আগের মত এই নিয়ম ফলো করে না। তাহলে কিভাবে করে? Well, That’s Interesting. চলুন তবে এ নিয়েই আজকের আর্টিকেল।

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

কিন্তু এখানে বলে রাখা ভাল, এন্ড্রোয়েড কোন এপটিকে কত পরিমাণ জায়গা দিবে টা এন্ড্রোয়েড নিজেই ঠিক করে দেয় কয়েকটি ঘটনার উপর ভিত্তি করে।

যেমন: ধরুন ফেসবুক বন্ধ করার পর আপনি মেসেঞ্জার ও ক্লোজ করে Ram Hungry Game PUBG Mobile এ গেলেন। তখন যা যা ঘটে টা সহজে বুঝার জন্য একটি কনভারসেশন এর মাধ্যমে তুলে ধরা হলো।

Messenger: Hey Android, I need to run on background.

Android: ok let me check. yeah you are in the user’s frequently used applist. So you can in. How much memory you need?

Msngr: Around 300MB.

Android: Let me check. Sorry, If I give you 300 mb, the Overall ram usage will be 95+% I can’t do that for future apps. I can give you 100mb. At maximum 150mb if I can compress Facebook App. He is not in the foreground but using 150+ Ram. Hey, Hello Facebook! Time to compressed!

Facebook Gets compressed and Messenger goes into background. Using 100+150mb.

User opens PUBG

Android: Holy Crap! This game is using 1GB in foreground. I need to close other apps.

Closes Facebook and Messenger for making space for PUBG.

Compressed system proccesses for further spaces.

So, নিশ্চই বুঝতে পারছেন। এন্ড্রোয়েড আপনার ফোনে যখনই Ram দরকার হবে, কোন না কোন ভাবে স্পেস খালি করে ইউজ করার ব্যবস্থা করে দিবে যতক্ষণ না সিস্টেম এপস+ Foreground App মিলে আপনার ডিভাইসের Ram এর প্রায় সমান মেমোরি ইউজ করে। এরাউন্ড ৯৫% সর্বোচ্চ।

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

তবে কি ১২ জিবি Ram এর সুবিধা নেই?

অবশ্যই আছে। ১২ জিবি Ram হওয়ার ফলে এন্ড্রোয়েড নতুন ফোরগ্রাউন্ড এপস এর জন্য জায়গা দিতে বার বার ব্যাকগ্রাউন্ডে থাকা এপস গুলোকে কম্প্রেস বা টার্মিনেট করবে না যার ফলে আপনি এক সাথে অনেক গুলি এপস ফ্লুয়েন্টলি ইউজ করতে পারবেন। তবে এটার সাথে কিন্তু পারফরমেন্স বাড়ার কোন সম্পর্ক নেই। বরং ৪ জিবি Ram এর ব্যক্তির যদি প্রসেসর আপনার ১২ জিবি Ram এর ফোনের প্রসেসর থেকে পাওয়ারফুল হয় তবে সে ই আপনার থেকে বেশি পার্ফরম্যান্স পাবে যদিও তুলনামূলক কম এপস একসাথে ইউজ করতে পারবে ।

এটা তো গেল এন্ড্রোয়েড এর কথা। তবে উইন্ডোজ এর Ram অপটিমাইজেশন আরো আধুনিক,ইন্টারেস্টিং এবং ইফেকটিভ। স্পয়লার এলার্ট: উইন্ডোজ ১০ (উইন্ডোজ ৭ বা ৮ ও নয়) সিস্টেম এমন ভাবে অপটিমাইজড যে এটা ৩ জিবি না ১.৫ জিবি Ram দিয়েও ভালমত চলার ক্ষমতা রাখে যদি আপনার অন্য কম্পোনেন্ট গুলো ভাল বা পাওয়ারফুল এনাফ থাকে। এটি নিয়ে আরেকদিন লিখবো। আজকে এ পর্যন্তই।

--

--

Sanjib Sen

Studying Undergraduate in Computer Science and Engineering at BRAC University.