قلب توزیعتون رو روغن کاری کنید

قلب هر توزیع، میشه کرنل لینوکس. توی پستی به نحوه کامپایل کرنل لینوکس تا حدودی اشاره کرده بودم. از اون موقع تا حالا تجربه خودم خیلی زیاد شده و اینکه تونستم به کرنلی برسم که حتی یک پیغام خطا تولید نمی‌کنه. اما  اگه بهترین تنظیمات رو هم انجام بدید، امتیاز سیستم از حدی فراتر نمی‌ره. در اینجا یعنی به سقف و به بهترین کارایی که یک کرنل می‌تونه داشته باشه، رسیدین(بالاترین راندمان)! و تنها کاری که می‌شه از این به بعد کرد، انتظار برای نسخه جدید کرنل هست و دعا برای اینکه امتیاز سیستم بالاتر بره.

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

یکی از بهترین پچ‌هایی که به صورت تصادفی با ان اشنا شدم، پچی موسوم به BFS هست که نباید آن را با فایل سیستم bfs اشتباه بگیرید! این پچ مناسب کاربران خانگی، یعنی کسانی که سیستم دسکتاب دارند، می‌باشد. تا سقف ۱۶ هسته، این پچ جادو می‌کند. یعنی اگر شما ۱۶ هسته داشته باشید و بخواهید استفاده شخصی از سیستم داشته باشید، این پچ یکی از بهترین‌های موجود در بازار است:)‌ این اسم را سازنده آن آقای کولیواس، برای آن انتخاب کرده و اعلام کرده مناسب ماشین‌های کوچک می‌باشد و نباید توقع داشته باشید بر روی ماشین‌های سرور خوب جواب دهد. BFS دقیقا در مقابل CFS  کرنل قرار می‌گیرد و به جای آن می‌نشیند. cfs یعنی (Completely Fair Scheduler)  تقسیم کار به صورت عادلانه در یک ماشین.

برای یک دسکتاب به دلیل تک کاربره بودن، باید حداکثر قدرت پردازشگر به کاری اختصاص داده شود، که کاربر قصد انجام آن را دارد. دقیقا برعکس یک ماشین مخصوص سرور که باید برای انجام هر کار بار کمتری به پردازشگر اعمال شود تا بتوان تعداد بیشتری از درخواست‌ها را مدیریت کرد. BFS  به طعنه  مخفف تقسیم کاری است که توسط یک مغز نابغه صورت می‌گیرد (Brain Fuck Scheduler). و اما مقایسه یک کرنل عادی (CFS)‌ با کرنل پچ شده (BFS) می‌تونه جالب باشه.

در اجرای بازی هر دو کرنل برابرند

کامپایل سریعتر با پچ

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

بهبود پنج درصدی با BFS

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

نکته‌ی مهم اینکه بنچمارک سایت فرونیکس، با پچ نسخه ۲۱۱  بر روی کرنل  ۲.۶.۳۱ انجام شده. در حالی که من از پچ جدیدتر  (۳۱۳) استفاده کرده‌ام و آن را بر روی کرنل ۲.۶.۳۲ اعمال کرده‌ام. اگر به سیر صعودی امتیازها نگاه کنید می بینید که من با کرنل عادی توانسته‌ام به امتیاز ۵۶۷۸ دست پیدا کنم و این بالاترین امتیازی بوده که توانسته‌ام به آن دست پیدا کنم و به نوعی حد نهایی و خانه پر آن با کرنل عادی  بوده است. اما با اعمال پچ BFS ناگهان ۱۵۰ امتیاز جهش داشته‌ام که این نشان از قدرت و توان بالای این پچ هست!

اما خبر خیلی مسرت بار اینکه سازنده این پچ آقای کان کولیواس مجددا حالی به ما داده‌اند و نسخه جدید این پچ را (۳۱۵) برای کرنل ۲.۶.۳۳ که آن هم جدیدا بیرون آمده، منتشر کرده‌اند! بماند که ۱۲ پچ رنگارنگ دیگر نیز توسط آقای خوش قلب، برای روغن کاری کرنل منتشر شده است!

و اما نحوه اعمال پچ بر روی کرنل که کار خیلی راحتیه. بعد اینکه سورس کرنل رو گرفتید، و اون رو به نحو مطلوب کانفیگ کردید. در حالی که داخل دایرکتوری سورس کرنل هستید با دستور wget پچ BFS رو از اینجا (۲٫۶٫۳۳-sched-bfs-315.patch)  دانلود می‌کنید و سپس با دستور زیر پچ رو اعمال می‌کنید و بعد هم به صورت معمول کرنل رو کامپایل می‌کنید.

patch < 2.6.33-sched-bfs-315.patch -p1


منتشر شده

در

,

توسط

برچسب‌ها:

دیدگاه‌ها

8 پاسخ به “قلب توزیعتون رو روغن کاری کنید”

  1. حسن حبیبی نیم‌رخ
    حسن حبیبی

    این یعنی یه پست عالی !

    1. erghezi نیم‌رخ

      ممنون. شما همیشه به ما لطف داشتی:D

  2. javad33 نیم‌رخ

    W0o0o0o0o0o00oW
    هی من نمیخوام برم سراغ کرنل کامپایل کردن هی تو با این پستات ما رو وسوسه کن!

  3. امير نیم‌رخ

    فقط این راهنمای کامپایل کرنل نیست
    http://ilinux.wordpress.com/2008/02/10/%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D9%85%D8%A7/

    باید این ادرس منظورتون باشه

    http://ilinux.wordpress.com/2009/12/07/each-a-kernel/

    اگر معرفتون ممنون

    1. erghezi نیم‌رخ

      آی . شبیه پست رو نوشتم، اصلا حواسم نبود:دی دمت گرم

  4. بهرام نیم‌رخ

    عالیه !
    یکی از بهترین پست‌هایی که تا حالا دیدم
    موفق باشی

  5. royaflash نیم‌رخ
    royaflash

    سلام دوست عزیز با LFS کار کردین من میخوام نصبش کنم سورسشو گرفتم .

    موفق و لینوکسی باشید .

  6. […] اچ‌دی راهنمای استفاده از VPN های PPTP در دبیان و اوبونتوقلب توزیعتون رو روغن کاری کنیدداستان یک شوالیهنصب درایور انویدیا در اوبونتو ۱۰.۴مخفی […]

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *