e4rat و افزایش معجزه‌آسای سرعت بالاآمدن سیستم

e4rat نرم‌افزار کوچیکیه که با استفاده از اون می‌شه به حد معجزه‌آسایی سرعت بالا آمدن رو سیستم افزایش داد. این نرم‌افزار به خصوص برای اون‌هایی که مستقیما وارد محیط گرافیکی می‌شن، توصیه می‌شه و زمانی رو که صرف پروسه‌ی بالا‌آمدن سیستم می‌شه، به شکلی کاملا محسوس کاهش می‌ده.

نام e4rat مخفف ext4 – reducing access time است و به گفته‌ی تولید کنندگان اون بیشتر با در نظر گرفتن استانداردهای ext4 نوشته شده و روی سیستم‌های فایلی دیگه جواب نمی‌ده. پس اگر از سیستم‌فایلی دیگه‌ای مثل ورژن‌های قدیمی‌تر ext استفاده می‌کنید، بهتره از نصب اون خودداری کنید.

شاید این که یک نرم افزار کوچیک می‌تونه چنین تاثیری روی سیستم شما بذاره به نظر عجیب برسه، اما بعد از دونستن نحوه‌ی کار e4rat کاملا متوجه خواهید شد که چجوری یک نرم‌افزار کوچیک می‌تونه به این شکل کارها رو سریع‌تر کنه.

نحوه‌ی کار

احتمالا می‌دونید که فایل‌هایی که روی هارد دیسک شما نوشته شده‌اند، در یک جای دیسک متمرکز نیستن و به صورت پراکنده در نقاط مختلف پخش شده‌اند. تعداد فایل‌هایی که به هنگام بالا آمدن سیستم و ورود به رابط گرافیکی خونده می‌شه بسیار زیاده و با توجه به پراکندگی این فایل‌ها، کامپیوتر عملا باید همه‌ی دیسک رو دور بزنه تا بتونه به این فایل‌ها دسترسی پیدا کنه.

e4rat پس از انجام سه مرحله‌ی ساده، این فایل‌ها رو جمع‌آوری، جاسازی مجدد و در انتها از پیش بارگذاری می‌کنه.

مرحله‌ی اول: جمع‌آوری فایل‌ها

این مرحله فقط یک بار باید انجام بشه و در طی اون، فایل‌هایی که به هنگام بالا‌آمدن سیستم، استفاده می‌شن شناسایی و در فایل var/lib/e4rat/startup.log/ ذخیره می‌شه. برای انجام این‌مرحله فایل boot/grub/menu.lst/ رو باز کنید، و در انتهای خط kernel مربوط به گزینه‌ی بوتتون، عبارت init=/sbin/e4rat-collect رو اضافه کنید. در نهایت گزینه‌ی بوت لینوکس شما باید چیزی شبیه زیر باشه:

title Arch Linux
root (hd0,1)
kernel /boot/vmlinuz26 root=/dev/sda2 ro init=/sbin/e4rat-collect
initrd /boot/kernel26.img

بعد از ذخیره‌ی این فایل، سیستم رو ریستارت کنید و طبق معمول وارد محیط گرافیکی بشید و مرورگر مورد علاقه‌تون و نرم‌افزارهایی که معمولا در آغاز محیط گرافیکی استفاده می‌کنید رو باز کنید. e4rat به صورت پیش‌فرض به مدت ۱۲۰ ثانیه، به صورت نامحسوس نام و مکان فایل‌هایی رو که مورد دسترسی قرار می‌گیرن ذخیره می‌کنه.

پس از گذشت حدود ۱۲۰ ثانیه، بررسی کنید که فایل var/lib/e4rat/startup.log/ به وجود آمده باشه. وجود این فایل به این معنیه که کار جمع‌آوری فایل‌ها به اتمام رسیده و شما می‌تونید مرحله‌ی بعد رو انجام بدین.

مرحله‌ی دوم: جاسازی مجدد فایل‌ها

این مرحله‌ی ساده هم فقط یک بار باید انجام بشه و بعد از اون e4rat آماده به کاره. قبل از هر چیز بهتره فایل boot/grub/menu.lst/ رو به حالت اول برگردونید تا بعدا مشکلی به وجود نیاد. پس از اون، با دستور زیر وارد محیط متنی یک کاربره بشید (دستور زیر باعث راه‌اندازی مجدد سیستم می‌شه پس قبل از انجام این کار نرم‌افزارها رو ببندید و فایل‌های باز رو ذخیره کنید):

sudo init 1

پس از اینکه وارد محیط متنی شدید، با استفاده از نام‌کاربری و پسورد خودتون وارد بشید و دستور زیر رو اجرا کنید:

sudo e4rat-realloc /var/lib/e4rat/startup.log

این دستور ممکنه کمی طول بکشه. بعد از اتمام، می‌تونید مرحله‌ی بعد رو انجام بدین.

مرحله‌ی سوم: بارگزاری فایل‌ها به هنگام بالا‌آمدن

این مرحله از دو مرحله‌ی قبل ساده‌تره. فقط کافیه فایل boot/grub/menu.lst/ رو یک بار دیگه باز کنید و این‌بار در خط kernel عبارت init=/sbin/e4rat-preload رو اضافه کنید. در انتها گزینه‌ی بوت شما چیزی شبیه به زیر باید باشه:

title Arch Linux
root (hd0,1)
kernel /boot/vmlinuz26 root=/dev/sda2 ro init=/sbin/e4rat-preload
initrd /boot/kernel26.img

حالا می‌تونید سیستم رو مجددا راه‌اندازی کنید و نتیجه رو ببینید. فقط توجه کنید که احتمالا هر بار که کرنل رو آپدیت کنید، لازمه دوباره این مرحله رو انجام بدین.

برای دانلود و نصب این نرم‌افزار خوب می‌تونید برای اوبونتو و توزیع‌های مبتنی بر دبیان فایل deb و یا برای کامپایل از طریق سورس برنامه فایل tar.gz رو از این لینک دانلود و نصب کنید. همچنین برای دوستانی که از آرچ لینوکس استفاده می‌کنن، این بسته در AUR موجوده.

برچسب شده در: ، ،
  • شما نیز می‌توانید این نوشتار را با دوستان‌تان به اشتراک بگذارید:
  • Facebook
  • Twitter
  • Delicious
  • Digg

۳۴ دیدگاه

  • ممنون بابت معرفی نرم افزار، از وجود همچین نرم افزار جالبی بی اطلاع بودم!

    میتونید liquorix kernel هم معرفی و آموزش نصبشو بذارید. برای دبیان بیسدها و آرچ لینوکس به راحتی میشه نصب و استفاده کرد. اونم توی سرعت سیستم تاثیر خوبی داره.

  • ممنون پیروزان جان برای معرفی این کرنل. البته تغییر کرنل باعث می‌شه که تا حدودی پشتیبانی توزیع از بین بره و اگر مشکلی توی درایورها پیش بیاد از طریق توزیع ساپورت نمی‌شه. ولی liqourix تا جایی که من دیدم کرنل خوبیه گرچه امتحانش نکردم.

    • من هم روی اوبونتو و هم روی آرچ از liquorix استفاده میکنم، هیچ مشکلی هم نداره، برای آرچ که از سورس کامپایل میشه و از لحاظ سازگاری بهتر از این ممکن نیست، برای دبیان بیسدها هم که liquorix اصلش برای دبیان سید ساخته شده!

      http://www.webupd8.org/2011/03/how-to-install-liquorix-kernel-in.html

      البته من liquorix رو از خیلی قبل از زدن این پست استفاده میکردم، اینو گذاشتم که خواستید مطلبی قرار بدین راحت باشه…

      • ممنون از لطفت. حتما امتحانش می‌کنم. از اونجایی که روی آرچ باید از طریق سورس کامپایل بشه یک مقدار زمان می‌بره. اما حتما در اسرع وقت نتیجه رو می‌ذارم.

  • ممنون. عالی بود.
    سرعت بوتم تو آرچ خیلی بهتر شد … ;)

  • خیلی ممنون
    من هم روی آرچ تست کردم ، فوق العاده بود .

  • سلام
    ممنون از مطالب خوبتون
    بنده روی اوبونتو مشکل نصب دارم ، از روی سورس بدون هیچ ارروری کامپایل نمیشه و از روی فایل deb هم مشکل با یک پکیج دیگه رو مطرح میکنه :
    Error: Conflicts with the installed package ‘ureadahead’
    چرا؟

    • ureadahead بسته‌ایه که به گفته‌ی وبسایت اوبونتو، کاری مشابه e4rat انجام می‌ده. برای حذف اون بهتره قبل از هر کار توی فوروم‌های اوبونتو مطرح کنید این مشکل رو تا مشکلی پیش نیاد. اگر راه حلی پیدا کردید، اینجا هم بگید تا عزیزانی که به مشکل مشابه برخورد کردن، مشکلشون حل شه.

  • من که بعد از نصب کرنل لیکوریکس دیگه سیستمم با کرنل لیکوریکس بالا نیومد.از وقتی کرنل لیکوریکس رو چه رو دبیان و چه در اوبونتو۱۰٫۱۰ نصب کردم با این پیغام مواجه میشم در هنگام بوت:unable to enumerate usb device on port 6
    و این پیغام مرتب تکرار میشه تا صفحه پر میشه!!
    من تو دبیان فقط اولین بار که کرنل لیکوریکس رو نصب کردم تونست بالا بیاد و بعد از اون هیچکدوم از آپدیتهاش بالا نیومدن.
    امروزم تواوبونتو کرنل لیکوریکس رو نصب کردم و باز هم همون ارر رو دارم.البته من تمام ابزارهام رو از ۴تا پورت usb لپتاپم کشیدم و بازم نشد.نمیدونم رم ریدرم رو پورت ۶ هست یا وبکم یا….

  • آقا ما که گراب ۲ داریم چی کار کنیم؟

    • شما به انتهای خط کرنل توی grub.cfg همون init=… رو اضافه کنید.

      • بالای grub.cfg نوشته که نباید دستی ویرایش بشه.
        من فایل ‎/etc/default/grub رو ویرایش کردم، این خط به این شکل شد:
        ‪GRUB_CMDLINE_LINUX_DEFAULT=”quiet init=/sbin/e4rat-collect”

        ‫شد، بعدش فایل update-grub رو اجرا کردم. واسه مرحله دوم و سوم هم همین خط رو
        ویرایش کردم بعدشم update-grub زدم.

  • من نصبیدم و واقعا می گم سرعتم از بوت تا خود اجراء نرم افزارهام به شدت زیاد شده :-)
    درباره سوال دوستمون alirezaimi باید بگم که می تونند با خیال راحت پکیج ureadahead رو پاک کنند.
    دوستان اوبونتویی هم که مشکل Dependencies(وابستگی) ها رو دارند می تونند از مخزن زیر استفاده کنند.
    https://launchpad.net/~freefilesync/+archive/ffs

    • اتفاقا امروز یک بخش به ویکی e4rat راجع به ureadahead اضافه شده. که نوشته می‌شه به راحتی اون رو پاک کرد و بعد از پاک کردنش خط زیر موقع بوت شدن نمایش داده می‌شه:
      Failed to spawn unreadahead process: unable to execute: No such file or directory
      این رو می‌تونید با پاک کردن فایل etc/init/ureadahead.conf/ درست کنید.

  • و متاسفانه این کل سیستم منو ترکوند. کل قایلهایی که وقت راه اندازی جمع آوری شدن همه تنظیمات و فایلهای اجرایی همه از بین رفتن و محتویاتشون عبارات بی معنی شد.

    من از ext4 استفاده میکردم و آرچ لینوکس. مجبور شدم دوباره آرچ نصب کنم :(

    • خیلی عجیبه. یک تاپیک نسبتا طولانی توی فوروم آرچ هست که من توش ندیدم کسی به چنین مشکلی برخورد کرده باشه.
      تنها چیزی که می تونم بگم اینه که کرنلت باید جدیدتر از ۲٫۶٫۳۶٫ باشه. البته اکثر دیستروها کرنلشون جدیدتر از این حرفاست.
      شاید مشکل از شکل پارتیشن بندی بوده؟ مثلا یک پارتیشن جدا برای /var. چون این پارتیشن موقع بوت موجود نیست و در این صورت باید محل ذخیره سازی رو توی تنظیمات تغییر داد.

    • ظاهرا پارتیشن usr/ هم برای اجرای e4rat نباید جدا باشه چون به هنگام بوت به یک سری کتابخانه توی این فولدر نیاز داره. البته با توجه به استاندارد FHS پارتیشن‌های usr/ و var/ و opt/ باید بتونن جدا باشن. (اینم لینکش: http://www.pathname.com/fhs/pub/fhs-2.3.html#PURPOSE2) بنابراین این یکی یک باگ توی e4rat محسوب می‌شه که امیدوارم به زودی رفع شه.
      به هر حال حواست به این هم باشه.

  • فرود که ما رو ترسوند ولی تستش میکنم
    اگه سیستم ترکید سکته رو زدم

  • با سلام
    بنده تازه به دنیای لینوکس مهاجرت کردم و ابهامات فراوانی در این باره برایم پیش امده است.تا جای ممکن به جستجوی مطالب برای رفع مشکل یا سوال می پردازم ولی بعضی چیزا را نمی توان \یدا کردکه بهتر است از مرجعی پرسیده شود!
    بنده اوبنتوی خود را آپدیت کردم بعد از آپدیت در صفحه بوت با دو نسخه روبرو شدم ۲٫۶٫۳۵٫۲۲ و ۲٫۶٫۳۵٫۲۸!می توانید دلیل این امر را بفرمایید؟
    ممنون

    • البته فکر می‌کنم بهتر بود سوالتون رو توی انجمن‌های فارسی اوبونتو که خیلی هم فعال هست می‌پرسیدید ولی اون اعداد نشون دهنده‌ی ورژن کرنل هستن. به دلیل اینکه مشکل در کرنل می‌تونه باعث شه سیستم بالا نیاد و مشکلات خاصی به وجود بیاد، اوبونتو به صورت پیش‌فرض، تا ۳ کرنل آخر رو نگه می‌داره تا اگه با کرنل جدیدتر مشکل داشتید بتونید از کرنل قدیمی‌تر استفاده کنید.

  • پا رو حق نمیشه گذاشت
    عالی بود
    ممنون بابت معرفی

    • خواهش می‌کنم. قابلی نداشت.
      مشکل فرود هم خیلی خاص بوده فکر می‌کنم. وگرنه در حالت عادی نباید مشکلی پیش بیاد.

      • منم دقیقا نمیدونم مشکل از چی بوده. پارتیشن من یه پارتیشن تبدیل شده به ext4 بود (فرمت نشده بود، تبدیل شده بود از ext3 به ext4 ) و پارسال عوضش کرده بودم. احتمالا مشکل از اون بوده. ولی فرمتش دقیقا میزد ext4 و fsck هم به راحتی اسکنش میکرد.

  • آقا مگه روش نصبش تو گراب ۲ فرق میکنه؟؟
    من که هنوز آرچ ندارم منتظر ایمانم که واسم بسته هار بفرسته..
    liquorix چطور رو آرچ نصب کنم؟؟

  • سلام. خیلی ممنون از این مطلب خوبتون.
    واقعاً سرعت رو بالا برد.

    فقط یه مشکلی هست. من این برنامه و مراحل اون رو در لینوکس مینت ۱۰ انجام دادم که خیلی شبیه اوبونتو هست.
    الان دیگه لوگوی مینت موقع بوت نشون داده نمیشه و یکسری متن مربوط به همین er4at-preload میاد. چطوری باید Boot Splash رو برگردونم تا این متون موقع بوت نشون داده نشه؟

    از طریق Start-up Manager هم رفتم و تیک Splash رو زدم. اما فرقی نکرد؟

  • سلام.
    ببخشید مجدد کامنت میدم.
    راه حل مشکلم رو پیدا کردم.

    قبل از دستور init=/sbin/e4rat-preload در مرحله سوم، دستور plymouth:force-splash رو اضافه کردم و با یه ریستارت دیدم که مشکل حل شد.
    با سپاس.

  • با سلام و ممنون از وبسایت خوبتون
    من یک مشکلی داشتم با این نرم افزار
    زمانی که توی ابونتو ۱۱.۰۴ دستور
    sudo init 1
    رو میزنم فرآیند ریبوت شدن آغاز میشه اما سیستم وسطش هنگ میکنه و خاموش نمیشه ، حتی برای زمان طولانی همینطور میمونه که مجبور میشم با دکمه پاور سیستم رو خاموش کنم
    به همین دلیل مجبور میشم دستور
    e4rat-realloc …
    رو توی محیط عادی اجرا کنم
    شاید به همین دلیل باشه که زمان فرایند بوت سیستم من تنها ۱۰ ثانیه کمتر شده
    یعنی از ۵۱ رسیده به ۴۱

    • شما باید موقع بوت سیستم روی گزینه اوبونتوکلید e رو بزنید، کلمه splash رو پاک کنید واون دستور رو اضافه کنید و با ctrl+x بوت کنید. اگر این کار رو بکنید با زدن sudo init 1 به راحتی وارد runlevel شماره ۱ خواهید شد.

  • اونایی هم که از gentoo استفاده می کنن می تونن مراحل نصبش رو در صفحه زیر ببینن اما قبلش بگم این بسته هنوز درون portage قرار نگرفته بنابراین زیاد قابل اعتماد نیست و ممکنه باعث ناپایداری سیستم تون بشه من تستش نکردم اما اگه کسی توی جنتو تستش کرده به من هم بگه

    http://en.gentoo-wiki.com/wiki/E4rat

دیدگاه خود را ارسال کنید‌


مرا از دیدگاه‌های پس از این، به وسیله‌ی ایمیل آگاه کن. شما همچنین می‌توانید بدون گذاشتن دیدگاه مشترک شوید.