رم مجازی یا رم پلاس قابلیتی است که چند سالی میشود توسط گوگل برای استفاده در سیستمعامل اندروید ارائه شده است. قابلیت RAM Plus قرار است در گوشیهای با رم کم، امکانی برای اضافه کردن حافظه جهت اجرای سریعتر و بدون محدودیت کمتر برنامههای متعدد ارائه دهد. اما آیا این هدف همیشه حاصل میشود؟ در ادامه با ما و مشخص کردن حقیقت قابلیت رم پلاس همراه باشید تا ببینیم آیا با تبلیغات زیبایی از سوی شرکتهای سازنده و گوگل روبرو هستیم یا واقعاً این قابلیت مفید است؟
مقدمه
به صورت پایه سختافزار ضعیف همیشه پاشنه آشیل دستگاههای ارزانقیمت است. این که سیستمعامل به منابع لازم برای پیادهسازی عملیات مورد نظر خود دسترسی نداشته باشد همواره میتواند برای اجرای عملکردهای مورد نظر، محدودیت ایجاد کند. همین ایده موجب شد که با تفکری برای رفع بخش قابل توجهی از محدودیتها، قابلیتی موسوم به RAM Plus یا Virtual RAM برای افزایش حافظه رم به صورت مصنوعی ارائه شود. قابلیتی که به نظر باید بیشتر به آن اندیشید و نمیتوانیم آن را به حکم نجاتبخشی برای اندروید در گوشیهای ارزانقیمت بدانیم.
در واقع کلید راهگشای این سوءبرداشت، بررسی دقیق عملکرد قابلیت zRAM در کرنل لینوکس (به عنوان هسته سیستمعامل اندروید)، تفاوت آن با قابلیت zSwap (در لینوکس) واقعیت استفاده از حافظه داخلی، تاثیر بر عملکرد سیستم، مزایا و محدودیتهایی است که در مدیریت حافظه رم در سیستمعامل اندروید وجود دارد.
در همین زمینه کاربری از ردیت تجربه عملی خود در مورد رم پلاس را در این پست به اشتراک گذاشته است. به همین مناسبت تلاش میکنیم در ادامه این مطلب به بررسی تخصصی این قابلیت و سوءبرداشتهای پیرامون آن داشته باشیم.
عملکرد و کاربرد رم مجازی (RAM Plus) در اندروید
رم مجازی به معناي استفاده از روشهای نرمافزاری برای گسترش حافظه در دسترس سیستم است. در اندروید، فناوری مطرح مرتبط با رم مجازی، zRAM است. طبق اسناد رسمی اندروید، zRAM یک بخش خاص از حافظه RAM است که برای فضای تبادل (swap) استفاده میشود؛ همهی دادهها هنگام قرارگیری در zRAM فشرده شده و هنگام بازیابی دوباره باز میشوند.
ذکر این توضیح لازم است که فضای تبادل بخشی از حافظه (معمولاً دیسک یا رم) است که سیستمعامل از آن برای جابجایی (تبادل) موقتی دادههایی استفاده میکند که در حال حاضر در RAM استفاده نمیشوند یا کماستفاده هستند. به بیان سادهتر، وقتی رم دستگاه پر میشود، سیستم باید تصمیم بگیرد که چه دادهای را نگه دارد و چه چیزی را موقتاً کنار بگذارد. دادههای کماهمیت (مثلاً اپهایی که در پسزمینه هستند) به فضای تبادل منتقل میشوند تا جا برای تسکهای فعالتر باز شود.

بهعبارت دیگر، zRAM مانند یک دیسک مجازی داخل رم عمل میکند و با فشردهسازی اطلاعات، حجم مؤثر حافظه را افزایش میدهد. بهطور مثال رسانه SamMobile در بررسی تخصصی خود پیرامون این موضوع، نسبت فشردهسازی تقریبی ۲:۱ را گزارش کرده است.
تفاوت zRAM و zSwap و معادل آن در ویندوز
حال فناوری دیگری در هسته لینوکس به نام zSwap وجود دارد که صفحات swap را فشرده نگه میدارد، ولی نکته اصلی داستان این است که این قابلیت در اندروید فعال نیست.
zSwap یک ویژگی در هسته لینوکس است که وقتی حافظه RAM دستگاه پر میشود، دادههای کماستفاده را بهجای حذف، فشرده کرده و در یک فایل ویژه روی حافظه داخلی (مانند حافظه SSD یا حافظه فلش گوشی) ذخیره میکند. این کار باعث آزاد شدن فضای RAM میشود اما به دلیل نوشتن روی حافظه داخلی، برای دستگاههایی مثل گوشی که حافظهشان عمر محدودی دارد، مناسب نیست. به همین دلیل zSwap در اندروید استفاده نمیشود و جای آن از zRAM استفاده میشود که فقط با خود رم سروکار دارد.
جالب است بدانید که در ویندوز هم مفهومی مشابه وجود دارد که به آن Paging File یا Virtual Memory (حافظه مجازی) گفته میشود.
در ویندوز وقتی حافظه RAM پر میشود، سیستم عامل از بخشی از فضای هارد دیسک یا SSD بهعنوان حافظه پشتیبان استفاده میکند تا دادههای غیرفعال را موقتاً به آن منتقل کند. این فایل معمولاً با نام pagefile.sys شناخته میشود و دقیقاً مثل zSwap عمل میکند، با این تفاوت که در ویندوز این ویژگی همیشه فعال بوده و از دیرباز جزو سیستمعامل مایکروسافت است.
در مجموع، هنگامیکه سیستم حافظهی آزاد کمتری داشته باشد، zRAM میتواند دادههای کماستفاده را فشرده و نگهداری کند و هنگام نیاز، آنها را دوباره بازسازی کند.
عملکرد zRAM در اندروید و مکانیزم فشردهسازی
همانطور که عنوان شد، در دستگاههای اندرویدی، zRAM بهعنوان بخشی از مدیریت حافظه عمل میکند. دادههایی که در zRAM قرار میگیرند به صورت خودکار فشرده میشوند و هرگاه پردازنده به آن صفحه نیاز پیدا کند، داده فشرده خارج شده و پیش از استفاده مجدداً باز میگردد.
این فرآیند فشردهسازی/بازسازی اندکی بار پردازشی روی پردازنده را افزایش میدهد؛ به طوری که «فناوری zRAM نیروی پردازشی بیشتری برای فشردهسازی و بازسازی دادهها مصرف میکند». با این حال، از آنجا که دسترسی به داده فشرده در رم همچنان بسیار سریعتر از خواندن مستقیم از حافظه فلش است، در عمل کاهش محسوس سرعت به ندرت قابل تشخیص است.
نحوه پیادهسازی رم مجازی در One UI سامسونگ
در پیادهسازی قابلیت RAM Plus توسط سامسونگ، علاوه بر zRAM معمول، قابلیت جدیدی به نام zRAM writeback نیز فعال شده است. در این حالت، در مواقع بیکاری پردازنده، صفحات کماستفاده در zRAM به صورت تدریجی روی بخشی از حافظه داخلی نوشته میشوند تا رم آزاد بیشتری فراهم شود.

به عبارت دیگر، سامسونگ بخشی از حافظه داخلی را بهعنوان پشتیبان zRAM درنظر میگیرد تا صفحات نادیده را روی آن بنویسد و فضای RAM را آزاد کند. این نوشتههای اضافی (نوشتن روی حافظه فلش) به مرور باعث «خوردگی» تراشه میشود، اما به صورت پایه این میزان نوشتن در طول عمر دستگاه به سطح TBW (حد انتقال داده مجاز) فلش نمیرسد.
در تنظیمات RAM Plus کاربر میتواند اندازه «دیسک مجازی zRAM» را انتخاب کند (مثلاً 2، 4، 6 یا 8 گیگابایت)، که در عمل سقف حجم فشردهسازی در RAM را مشخص میکند و نه به صورت دقیق، فضای اضافه شده به حافظه RAM اصلی دستگاه!
سوءبرداشت رایج: استفاده از حافظه داخلی توسط RAM Plus
یکی از باورهای غلط شایع این است که با فعال کردن RAM Plus فضای قابل توجهی از حافظه داخلی در حکم رم مجازی اشغال میشود. جالب است که حتی در توضیحات رسمی سامسونگ نیز آمده «این ویژگی با استفاده از فضای ذخیرهسازی شما، حافظه مجازی فراهم میکند».
اما همانطور که عنوان شد، شواهد فنی خلاف این موضوع را نشان میدهد. در واقع، RAM Plus بر پایه فناوری zRAM عمل میکند و دادهها را در همان RAM فیزیکی فشرده میکند. همانطور که بالاتر گفتیم، «RAM Plus هیچ فضای ذخیرهسازی داخلی را اشغال نمیکند».
فعال کردن RAM Plus باعث کاهش فضای آزاد حافظه فلش نمیشود و تنها دادهها در داخل RAM فشرده و نگهداری میشوند.
لازم به ذکر است که در معماری zRAM writeback سامسونگ بخشی کوچک از حافظه داخلی بهعنوان پشتیبان (بکینگ) برای صفحات خاموش انتخاب میشود؛ مثلاً برای حالت ۸ گیگابایت بهظاهر، حدود ۲ گیگابایت فضای ذخیرهسازی به بکینگ اختصاص دارد. با این حال، این حجم استفادهشده در عمل تأثیر قابلتوجهی روی حافظه آزاد ندارد، بهخصوص که دادهها بهصورت فشرده نوشته میشوند و اکثر مواقع در RAM باقی میمانند.
همچنین همانطور که پیشتر اشاره شد، اندروید بهطور پیشفرض از فضای ذخیرهسازی برای swap استفاده نمیکند و بنابراین RAM Plus به معنای واقعی «استفاده از فضای ذخیرهسازی بهجای RAM» نیست.
غیرفعالسازی RAM Plus و تاثیر آن
یک نکته را باید همین ابتدای این بخش مشخص کنیم و آن این است که خاموش کردن RAM Plus در تنظیمات دستگاه، بهمعنای غیرفعال کردن کامل zRAM در سطح سیستم نیست. در واقع بخشی از RAM همیشه در حالت zRAM باقی میماند.
به بیان دیگر، حتی اگر کاربر گزینه RAM Plus را غیرفعال کند، سیستم عامل اندروید کماکان از zRAM استفاده میکند، اما دیگر کاربر نمیتواند مستقیماً مقدار آن را تنظیم کند. به این ترتیب، تنها تفاوت این است که کنترل UI برای اختصاص حافظه مجازی در دسترس نیست، اما سازوکار فشردهسازی و مدیریت حافظه همچنان در کرنل سیستم عامل اندروید دستگاه، فعال است.
تأثیر فنی رم مجازی بر پردازنده و عملکرد دستگاه
در بخش اول توضیحات این مقاله گفتیم که استفاده از zRAM به دلیل فشردهسازی دادهها هزینه پردازشی اندکی در پردازنده دارد؛ بدین معنا که بهطور میانگین فشار پردازشی و مصرف انرژی CPU کمی افزایش مییابد. با این حال این افزایش معمولاً ناچیز است و با پیشرفت معماریهای مدرن، کمتر قابل لمس میشود.
از سوی دیگر، فضای آزاد رم ایجادشده بهبود مدیریت حافظه را در پی دارد؛ یعنی اندروید میتواند برنامههای بیشتری را در پسزمینه نگه دارد و نیاز به راهاندازی مجدد اپلیکیشنها (بارگذاری مجدد از نو) کاهش مییابد. در نتیجه تجربه کلی کاربری در سناریوهای چندوظیفگی (مولتیتسکینگ) بهتر میشود.
همچنین باید اشاره کنیم که RAM Plus میتواند در زمان بیکاری مقداری از RAM فیزیکی را آزاد کند که نشانهی حفظ بیشتر وضعیت اپها در حافظه است.
از دید کاربر، بایستی بدانید که دسترسی به دادههای فشرده در zRAM کمی کندتر از دسترسی مستقیم به RAM خالی است. به این ترتیب ممکن است لحظاتی (مثلاً هنگام باز کردن یک اپلیکیشن سنگین) اندکی تأخیر نسبی احساس شود، اما این تأخیر بهمراتب کمتر از زمانی است که سیستم مجبور باشد دادهها را از نو از حافظه فلش بارگذاری کند. به طور کلی، در اغلب موارد مزیت داشتن فضای رم بیشتر (و کمتر شدن بسته شدن خودکار اپها) بیشتر از اندکی بار اضافی CPU است.

مزایا و معایب استفاده از رم مجازی در سناریوهای واقعی
با وجود موارد عنوان شده نباید به RAM Plus یا رم مجازی به چشم یک قابلیت اضافی و غیرکاربردی نگاه کرد. به صورت کلی رم پلاس میتواند موجب افزایش تعداد اپلیکیشنهای قابل نگهداری در پسزمینه و بهبود چندوظیفگی، بهبود استفاده از حافظه کش و اجتناب از کُند شدن شدید سیستم در شرایطی که تعداد برنامه زیادی اجرا شده اند گردد.
در این شرایط چون دادهها در داخل RAM فشرده میمانند، سرعت دسترسی نسبت به هر گونه Swap به حافظه ذخیرهسازی بالا باقی میماند. این ویژگی به ویژه برای دستگاههایی که از نظر سختافزاری رم کمتری دارند، کمک بزرگی است. آزاد شدن بیشتر رم فیزیکی همچنین به سیستم این امکان را میدهد که حافظه را به بهینهترین شکل در اختیار بگیرد.
اما از سوی دیگر اگر بخواهیم مواردی را به عنوان معایب رم مجازی عنوان کنیم میتوان به اعمال بار پردازشی اضافی روی پردازنده برای فشردهسازی و بازسازی دادهها که به اندکی مصرف بیشتر باتری منجر میشود اشاره کنیم.
همچنین میتوان با تستهای بسیار دقیق سطح سیستم نیز اثبات کرد که اندکی تأخیر در بارگذاری مجدد اپلیکیشنهای سنگین بهخاطر فرآیند فشردهسازی ایجاد خواهد شد. مضاف بر این، در حالت zRAM writeback، مقداری نوشتن اضافه روی حافظه فلش که در درازمدت میتواند عمر آن را کمی کاهش دهد نیز انجام میشود (که البته نگرانکننده نیست).
همچنین باید دقت کرد که RAM Plus هرگز جایگزین رم فیزیکی نمیشود و برنامههای نیازمند RAM زیاد (مثلاً برخی بازیهای گرافیکی سنگین) همچنان محدودیت سختافزاری خود را دارند.

میزان بهینه RAM Plus برای کاربران
انتخاب مقدار مناسب RAM Plus بستگی به میزان رم فیزیکی و نوع استفاده کاربر دارد. به طور کلی، در دستگاههای با رم کم (مثلاً ۳ تا ۶ گیگابایت)، فعال کردن چند گیگابایت رم مجازی میتواند تأثیر مثبت قابلتوجهی در عملکرد دستگاه داشته باشد.
اما در دستگاههای با حافظه رم بالا (۸ تا ۱۲ گیگابایت یا بیشتر) افزودن رم مجازی زیاد معمولاً تأثیر اندکی دارد و حتی کاربر عادی ممکن است قادر به تشخیص تفاوت ایجاد شده در این حالت نباشد.
به بیان دیگر، گوشیهای هوشمند ضعیفتر با رم محدود بیشترین بهره را از این قابلیت میبرند، در حالی که در پرچمداران پیشرفته (با رم زیاد) روشن بودن RAM Plus در بیشتر مواقع به جز کاربردهای خیلی سنگین تفاوت محسوسی ایجاد نمیکند.
به طور عملی، میتوان توصیه کرد که کاربران با گوشی دارای حافظه رم زیر ۶ گیگابایت میتوانند مقدار معقولی بین ۲ تا ۴ گیگابایت را امتحان کنند و تأثیر آن را بسنجند. کاربرانی که دستگاههای آنها حافظه رم بالاتری دارد، معمولاً حتی با ۲ گیگابایت RAM Plus نیز عملکرد مناسبی را دریافت کرده و فعال کردن بیشتر از این، برگشت سرمایه چندانی برای آنها نخواهد داشت.
نتیجهگیری
رم مجازی یا RAM Plus در اندروید (مخصوصاً در گوشیهای سامسونگ) در واقع برپایه فناوری zRAM پیادهسازی شده و برخلاف برداشت عمومی از ذخیرهسازی داخلی استفاده نمیکند. این تکنیک با فشردهسازی دادهها در حافظه رم، امکان نگهداری بیشتر اپلیکیشنها در پسزمینه را فراهم میکند و در عین حال بار پردازشی اندکی بر پردازنده تحمیل میکند. با این وجود مزیت آزاد شدن حافظه بیشتر و کاهش بارگذاری مجدد برنامهها معمولاً ارزش افزوده بیشتری در اختیار کاربران قرار خواهد داد.
ویژگی RAM Plus را میتوان روی دستگاههای ضعیفتر به شکل مؤثری فعال کرد؛ ولی روی گوشیهای با رم بالا یا بهتر است زیاد به فکر استفاده از رم پلاس نباشید یا مقادیر کم آن را برای اطمینان از بهینهترین مدیریت حافظه امتحان کنید. در نهایت، غیرفعال کردن این ویژگی بهمعنای قطع کامل zRAM نیست و سیستم همچنان از فضای رم فشرده برای مدیریت حافظه استفاده میکند.
پاسخ به سوالات پرتکرار
رم پلاس چیست و چگونه کار میکند؟
رم پلاس (RAM Plus) فناوری سامسونگ برای استفاده از بخش فشردهشدهای از رم اصلی دستگاه (zRAM) است که اجازه میدهد برنامههای بیشتری در پسزمینه باز بمانند، بدون اینکه واقعاً از حافظه داخلی برای رم استفاده شود.
آیا فعال کردن رم پلاس باعث پر شدن حافظه داخلی میشود؟
خیر، RAM Plus فضای داخلی گوشی را اشغال نمیکند؛ دادهها فقط بهصورت فشرده در حافظه رم نگهداری میشوند و برخلاف تصور عموم، جای حافظه فلش یا حافظه ذخیرهسازی را نمیگیرند.
آیا رم پلاس عمر حافظه داخلی گوشی را کم میکند؟
در حالت معمول خیر. اگرچه نسخههایی از رم پلاس (با zRAM writeback) ممکن است بهندرت از حافظه فلش برای پشتیبانگیری استفاده کنند، ولی حجم این نوشتارها بسیار پایین است و تأثیر محسوسی روی عمر فلش ندارد.
آیا خاموش کردن رم پلاس باعث افزایش سرعت گوشی میشود؟
خیر، تأثیر مستقیم ندارد. حس بهبود عملکرد معمولاً ناشی از ریاستارت دستگاه است، نه غیرفعال شدن رم پلاس. درواقع، رم پلاس میتواند در حفظ سرعت عملکرد در مولتیتسکینگ کمککننده باشد.
بهترین مقدار برای تنظیم رم پلاس چقدر است؟
برای گوشیهای با رم کمتر از ۶ گیگابایت، مقدار ۲ تا ۴ گیگابایت رم پلاس توصیه میشود. در گوشیهای پرچمدار با رم زیاد، ۲ گیگابایت کافی است و افزایش بیشتر معمولاً تأثیر محسوسی ندارد.
نظر خود را اضافه کنید.
برای ارسال نظر وارد شوید
ارسال نظر بدون عضویت در سایت