یکی از موضوعاتی که phoronix.com در چند ماه اخیر به آن پرداخته و مورد بررسی قرار داده است ، مصرف بیش از حد انرژی با شروع نسخه ی ۲.۶.۳۸ هسته ی لینوکس می باشد که در نسخه های بعدی آن حتی Linux Kernel 3.0 نیز که هم اکنون در حال توسعه بوده ، رفع نشده است. به گزارش phoronix این افزایش مصرف در برخی موارد تا ۳۰ درصد بیشتر از نسخه های پیشین هسته ی لینوکس می باشد که این مشکل بخصوص برای کاربران لپ تاپ ها و نت بوک ها بیشتر نمود داشته و موجب کاهش مدت زمان عملکرد باتری آنها خواهد شد. نتایج تست ها و نمودارهای منتشر شده در این سایت نیز بیانگر این موضوع می باشد که در ادامه مشاهده می نمایید :
در تست فوق میانگین مصرف انرژی از ۲۵.۳ وات در هسته ی لینوکس ۲.۶.۳۷ به ۲۸.۸ وات در هسته ی لینوکس ۲.۶.۳۸ افزایش داشته است.
در تست دوم نیز میانگین مصرف انرژی از ۲۷.۴ وات در هسته ی لینوکس ۲.۶.۳۷ به ۳۱.۲ وات در هسته ی لینوکس ۲.۶.۳۸ افزایش داشته است.
تست سوم نیز نشان میدهد که علارغم این افزایش قابل ملاحظه ی مصرف انرژی که از Linux Kernel 2.6.38 شروع شده ، افزایش سرعت و بازدهی در عملکرد سیستمی شاهد نیستیم !
و اما راه حل موقتی که در phoronix.com برای این مشکل مطرح شده فعال کردن قابلیت ASPM از طریق اضافه کردن عبارت pcie_aspm=force به انتهای خط فرمان بوت می باشد. برای این کار ، اگر توزیع شما از بوت لودر GRUB2 استفاده می کند بایستی مراحل زیر را انجام دهید :
1- ابتدا با یک برنامه ی ویرایشگر متنی همچون gedit یا kate فایل تنظیمات GRUB2 را باز کنید :
2- در فایل باز شده خط زیر را پیدا کنید :
3- عبارت pcie_aspm=force را به خط بالا اضافه نموده و فایل را ذخیره نمایید :
4- بوت لودر گراب را با دستور زیر بروزرسانی نموده و نهایتا سیستم را ریست نمایید :
در صورتی که از بوت لودر burg استفاده می کنید ، در مرحله ی اول از دستور زیر استفاده نموده :
و در مرحله ی آخر با استفاده از دستور sudo update-burg بوت لودر را بروز رسانی نمایید.
در صورتی که از بوت لودر GRUB1 استفاده می کنید ، فایل تنظیمات menu.lst را از مسیر زیر اجرا نموده :
و عبارت pcie_aspm=force را به انتهای خط کرنل اضافه نمایید. نهایتا فایل را ذخیره نموده و دستور sudo update-grub را اجرا نمایید.
هر چند به نقل از Phoronix.com تاکنون گزارشی مبنی بر بروز مشکل با اجرای روش فوق وجود نداشته است ولی با توجه به مستندات منتشر شده ی RHEL 6 توسط redhat ، فعال کردن این قابلیت ممکن است باعث بروز کرش و ناپایداری هایی در سیستم شود. بنابراین راه حل مطرح شده فوق را تنها با مسئولیت خود اجرا نمایید. در صورت بروز هرگونه مشکل ، فایل تنظیمات بوت لودر توزیع خود را ویرایش و عبارت اضافه شده ی pcie_aspm=force را از آن حذف نموده و نهایتا بوت لودر را با دستور sudo update-grub بروز رسانی نمایید.
نتایج تست ها و نمودارهای منتشر شده بعد از اجرای راه حل فوق نمایانگر بهبود نسبی در کاهش مصرف انرژی می باشد :
همانطور که در نتایج فوق مشاهده می کنید ، میانگین مصرف انرژی در هسته ی لینوکس ۲.۶.۳۸ بعد از فعال کردن قابلیت ASPM از ۲۴.۸ وات به ۲۱.۶ وات در تست اول و از ۲۹.۷ وات به ۲۴.۵ وات در تست دوم کاهش داشته است.
نهایتا باید دید که مشکلات مدیریت مصرف انرژی در هسته ی لینوکس که ابعاد آن وسیعتر از موارد مطرح شده در این مقاله می باشد چه زمانی ریشه یابی و برطرف خواهد شد.
در تست فوق میانگین مصرف انرژی از ۲۵.۳ وات در هسته ی لینوکس ۲.۶.۳۷ به ۲۸.۸ وات در هسته ی لینوکس ۲.۶.۳۸ افزایش داشته است.
در تست دوم نیز میانگین مصرف انرژی از ۲۷.۴ وات در هسته ی لینوکس ۲.۶.۳۷ به ۳۱.۲ وات در هسته ی لینوکس ۲.۶.۳۸ افزایش داشته است.
تست سوم نیز نشان میدهد که علارغم این افزایش قابل ملاحظه ی مصرف انرژی که از Linux Kernel 2.6.38 شروع شده ، افزایش سرعت و بازدهی در عملکرد سیستمی شاهد نیستیم !
و اما راه حل موقتی که در phoronix.com برای این مشکل مطرح شده فعال کردن قابلیت ASPM از طریق اضافه کردن عبارت pcie_aspm=force به انتهای خط فرمان بوت می باشد. برای این کار ، اگر توزیع شما از بوت لودر GRUB2 استفاده می کند بایستی مراحل زیر را انجام دهید :
1- ابتدا با یک برنامه ی ویرایشگر متنی همچون gedit یا kate فایل تنظیمات GRUB2 را باز کنید :
کد PHP:
sudo gedit /etc/default/grub
کد PHP:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”
کد PHP:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash pcie_aspm=force”
کد PHP:
sudo update-grub
کد PHP:
sudo gedit /etc/default/burg
در صورتی که از بوت لودر GRUB1 استفاده می کنید ، فایل تنظیمات menu.lst را از مسیر زیر اجرا نموده :
کد PHP:
sudo gedit /boot/grub/menu.lst
هر چند به نقل از Phoronix.com تاکنون گزارشی مبنی بر بروز مشکل با اجرای روش فوق وجود نداشته است ولی با توجه به مستندات منتشر شده ی RHEL 6 توسط redhat ، فعال کردن این قابلیت ممکن است باعث بروز کرش و ناپایداری هایی در سیستم شود. بنابراین راه حل مطرح شده فوق را تنها با مسئولیت خود اجرا نمایید. در صورت بروز هرگونه مشکل ، فایل تنظیمات بوت لودر توزیع خود را ویرایش و عبارت اضافه شده ی pcie_aspm=force را از آن حذف نموده و نهایتا بوت لودر را با دستور sudo update-grub بروز رسانی نمایید.
نتایج تست ها و نمودارهای منتشر شده بعد از اجرای راه حل فوق نمایانگر بهبود نسبی در کاهش مصرف انرژی می باشد :
همانطور که در نتایج فوق مشاهده می کنید ، میانگین مصرف انرژی در هسته ی لینوکس ۲.۶.۳۸ بعد از فعال کردن قابلیت ASPM از ۲۴.۸ وات به ۲۱.۶ وات در تست اول و از ۲۹.۷ وات به ۲۴.۵ وات در تست دوم کاهش داشته است.
نهایتا باید دید که مشکلات مدیریت مصرف انرژی در هسته ی لینوکس که ابعاد آن وسیعتر از موارد مطرح شده در این مقاله می باشد چه زمانی ریشه یابی و برطرف خواهد شد.