Singkat cerita, beberapa hari yang lalu salah satu pengembang kernel mengunggah tambalan (200 baris kode) yang memungkinkan untuk meningkatkan (hampir 10 kali lipat) kinerja sistem, terutama ketika berhadapan dengan multitasking selama pelaksanaan tugas berat (seperti mengkompilasi kernel). Linus mengucapkan selamat kepada pengembang ini atas kontribusinya yang luar biasa. Namun, pengembang Red Hat, Lennar Poettering tidak setuju untuk mengimplementasikan peningkatan ini langsung dari kernel; lebih baik dia melakukan perubahan di ruang pengguna (~ / .bashrc). Linus marah dan memarahi pengembang ini, mengatakan kepadanya bahwa hasilnya berbicara sendiri. Lennar, alih-alih menjawab dengan kata-kata kasar, duduk dan merancang sebuah alternatif (yang tidak perlu menambal kernel) dan yang hanya menempati 4 baris. Akhirnya, mereka membungkam Linus ... |
Catatan: metode ini memerlukan dukungan untuk grup tugas di Kernel Linux (cgroups), yaitu, hanya pengguna dengan Kernel lebih tinggi dari 2.6.36 yang dapat menerapkannya.
Cara menerapkan tambalan di Fedora
1. - Edit file ~ / .bashrc.
gedit ~ / .bashrc
2. - Tempel kode berikut di akhir file:
jika ["$ PS1"]; kemudian
mkdir -m 0700 / sys / fs / cgroup / cpu / pengguna / $$
echo $$> / sys / fs / cgroup / cpu / user / $$ / tugas
fi
3. - Jalankan perintah berikut:
mount -t cgroup cgroup / sys / fs / cgroup / cpu -o cpu
mkdir -m 0777 / sys / fs / cgroup / cpu / pengguna
Bagaimana menerapkan tambalan di Ubuntu
Di Ubuntu semuanya sedikit lebih rumit ...
1. - Edit file tersebut rc.local dengan perintah ini:
sudo gedit /etc/rc.local
dan tempel sebelum di mana dikatakan "exit 0", berikut ini:
mkdir -p / dev / cgroup / cpu
mount -t cgroup cgroup / dev / cgroup / cpu -o cpu
mkdir -m 0777 / dev / cgroup / cpu / pengguna
echo "/ usr / local / sbin / cgroup_clean"> / dev / cgroup / cpu / release_agent
2. - Simpan file dan berikan izin eksekusi:
sudo chmod + x /etc/rc.local
3. - Edit file tersebut ~ / .bashrc:
gedit ~ / .bashrc
4. - Tempel kode berikut di akhir file:
jika ["$ PS1"];
lalu mkdir -m 0700 / dev / cgroup / cpu / user / $$
echo $$> / dev / cgroup / cpu / user / $$ / tugas
echo "1"> / dev / cgroup / cpu / user / $$ / notify_on_release
fi
5. - Ubah file cgroup_clean:
sudo gedit / usr / local / sbin / cgroup_clean
6. - Tempel kode berikut di akhir file:
# / Bin / sh
jika ["$ *"! = "/ pengguna"]; kemudian
rmdir / dev / cgroup / cpu / $ *
fi
7. - Simpan file dan berikan izin eksekusi:
sudo chmod + x / usr / local / sbin / cgroup_clean
8. - Mulai ulang sistem.
Catatan: jika Anda melihat folder / dev / cgroup / Anda akan melihat peningkatan yang cukup besar dalam manajemen multitasking.
Saya menemukan instruksi untuk Arch, mereka ada di sini: http://pastebin.com/raw.php?i=sHRYRuAN
Bagi saya, saya menerapkan tambalan, banyak peningkatan yang tidak saya perhatikan secara umum, tetapi jika Anda melihat perubahan besar saat menggulir halaman web, itu benar-benar lancar untuk pertama kalinya !!! =)
Bagus! Terima kasih banyak telah berbagi!
Apakah saya memberi tahu Anda bahwa kami sedang mencari orang yang menggunakan Arch untuk blog? Jika Anda tertarik, kirimkan surat ke mari gunakanlinux@gmail.com
Pelukan hangat! Paul.
Terima kasih atas undangannya, maka kami akan melanjutkan melalui pos lalu 😉
Kebetulan tidak akan ada instruksi untuk Archlinux, bukan? 🙂
Saya tidak menemukan mereka. Tapi ada yang memberitahuku bahwa itu lebih seperti Fedora. Di sisi lain, harus diingat bahwa karena semua orang mengumpulkan Arch seperti yang mereka inginkan, mungkin itu memengaruhi prosedur untuk mengikuti ...
Di sini saya menemukan cara menerapkannya di Archlinux, sangat mirip dengan fedora: http://pastebin.com/raw.php?i=sHRYRuAN
bash: / dev / cgroup / cpu / user / $ / tugas: File atau direktori tidak ada
Saya mengikuti instruksi ini dan terus memberi tahu saya kesalahan ini saat membuka terminal AMD64 x jika ada hubungannya
Saya sudah menemukannya, tolong pablo perbaiki http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html
Apa yang harus dilakukan di ubuntu - alih-alih apa yang Anda masukkan - adalah:
sudo gedit / usr / local / sbin / cgroup_clean
dan taruh ini:
# / Bin / sh
jika ["$ *"! = "/ pengguna"]; kemudian
rmdir / dev / cgroup / cpu / $ *
fi
Siap! Diperbaiki! Terima kasih!
Itu benar! Terima kasih telah mengingatkan saya!
Saya baru saja menambahkan klarifikasi itu di awal posting.
Sebuah pelukan! Paul.
Secara khusus, manfaat apa yang akan saya dapatkan sebagai pengguna, dan peningkatan kinerja apa yang akan terlihat di sistem saya.
Semuanya berjalan lebih cepat. Namun perbedaan tersebut benar-benar “terlihat” saat Anda sedang mengerjakan tugas yang berat dan ingin mengerjakan tugas lain pada waktu yang bersamaan. Misalnya, Anda menjalankan instalasi beberapa program atau Anda sedang mengkompilasi kernel atau mengedit video yang berat dan pada saat yang sama Anda ingin menjelajahi internet atau menonton film, dll.
Beri tahu saya jika Anda menemukan cara menerapkan tambalan di Arch. Saya akan mencoba menjalankan tambalan yang berfungsi di Fedora.
Memeluk! Paul.
Saya kira itu tergantung pada penggunaan yang Anda berikan ke komputer Anda. Jika Anda jarang menggunakan internet dan beberapa editor teks ringan ... Anda tidak akan "merasakan" perbedaannya. Di sisi lain, jika Anda seperti saya dan melakukan tugas-tugas berat (seperti mengonversi video, mengkompilasi kernel, dll.) Saat menjelajah Internet atau menonton film, Anda dapat membedakannya.
Setelah semua langkah, ketika saya membuka terminal, saya selalu mendapatkan yang berikut:
mkdir: Tidak dapat membuat direktori "/ dev / cgroup / cpu / user / 1844": File atau direktori tidak ada
bash: / dev / cgroup / cpu / user / 1844 / task: File atau direktori tidak ada
bash: / dev / cgroup / cpu / user / 1844 / notify_on_release: File atau direktori tidak ada
domingopv @ pc1: ~ $
Semuanya bekerja dengan baik bahkan terminal, apakah Anda melakukan kesalahan?
Hmm ... Aku benar-benar tidak tahu bisa jadi apa. Namun, saya mendapat kesan bahwa sangat mungkin Anda tidak melakukan beberapa langkah dengan baik, terutama dari 5 langkah dan seterusnya. Coba ulangi atau pastikan Anda melakukannya dengan benar. Hanya itu yang bisa saya pikirkan untuk saat ini.
Pelukan hangat! Paul.
Instal ulang maverick dan instal ulang tambalan dan sekarang saya mendapatkan yang berikut ini.
mkdir: Tidak dapat membuat direktori "/ dev / cgroup / cpu / user / 1678": File atau direktori tidak ada
bash: / dev / cgroup / cpu / user / 1678 / task: File atau direktori tidak ada
bash: / dev / cgroup / cpu / user / 1678 / notify_on_release: File atau direktori tidak ada
domingopv @ pc1: ~ $
Uyy .. Aku benar-benar tidak tahu bisa jadi apa. Ini bekerja dengan sempurna untuk saya.
Sesuatu memberitahu saya bahwa pembersihan cgroup tidak dilakukan dengan baik. Itulah mengapa saya bersikeras agar Anda melihat dari langkah 5 dan seterusnya.
Bersulang! Paul.
Ibu saya, mengesankan, saya dapat melihat video flash 1080p pada nvidia 8400 pasif, maksud saya, buruk buruk, SEMPURNA, CPU semua berfungsi, uffff luar biasa, yang meningkat, jauh lebih baik, saya memiliki Ubuntu 10.04 😀 itu bagus, videonya bagus untukku hahaha 😀
Rc.local apa? Ada beberapa, yang mana? Salam.
Saya baru saja menulis perintah yang tercantum pada poin 4. Anda tidak perlu menyalinnya ke dalam file tetapi menjalankan perintah tersebut.
Bersulang! Paul.
Ini dijelaskan dengan buruk.
Yang harus Anda lakukan adalah mengedit file rc.local dengan:
sudo gedit /etc/rc.local
Anda harus menempel di dalam (sebelum keluar 0):
mkdir -p / dev / cgroup / cpu
mount -t cgroup cgroup / dev / cgroup / cpu -o cpu
mkdir -m 0777 / dev / cgroup / cpu / pengguna
echo "/ usr / local / sbin / cgroup_clean"> / dev / cgroup / cpu / release_agent
Itulah masalahnya. Langkah-langkah tersebut tidak dijelaskan dengan baik.
Kamu benar! Jelas tertulis, "edit file rc.local." Apa yang hilang untuk ditambahkan adalah perintah untuk melakukan hal seperti itu (yang mungkin tidak diketahui beberapa orang). Saya menambahkannya sekarang.
Terima kasih atas pemberitahuannya! Bersulang! Paul.
Bagaimana prosedur di PCLinuxOs?
Sebenarnya saya tidak tahu…
Jika sudah mengetahuinya, jangan lupa untuk membagikan datanya kepada yang lain!
Terima kasih banyak!
Bersulang! Paul.
Sepertinya saya atau Anda belum menaruh referensi dari mana Anda mendapatkannya? Bisakah Anda memberi tahu saya sumbernya?
terima kasih
Tidak ada sumber tunggal. Saya mencari cara melakukannya dari berbagai sumber dan dari pengalaman pribadi saya. Secara umum, saya dapat memberi tahu Anda bahwa sumbernya adalah jutaan blog yang mereproduksi berita itu. Cari "patch 200 linux kernel lines" dan Anda akan melihat apa yang saya bicarakan. Saya tidak ingat persis, tetapi bagian Ubuntu mungkin telah diperoleh dari WebUpd8; tidak demikian halnya dengan Fedora.
Saya pengguna belum lama ini, dari Ubuntu 64 bit dan ketika saya melihat tip ini saya mulai menyelidiki dan kernel saat ini yang saya miliki adalah 2.6.32-27 menurut posting, tambalan ini hanya dapat diterapkan ke kernel yang lebih tinggi atau sama dengan 2.6.36 Pertanyaan saya adalah jika perubahan ini hanya berfungsi untuk distro 32 bit atau di distro saya saat ini, dapatkah kernel diperbarui ke 2.6.36?
Terima kasih atas semua info di web, materi yang luar biasa.
Perubahan ini berfungsi untuk 32 dan 64 bit, sama.
Bersulang! Paul.
ke pertanyaan, dan ini tidak akan mengacaukan pembaruan nanti?
Jika tidak berjalan dengan baik, hal terburuk apa yang bisa terjadi?
(Anda melihat bahwa kemudian beralih dari Ubuntu 10.04 ke 10.10 crash semuanya)
Hal pertama yang harus diklarifikasi (untuk menghindari penggunaan metode yang tidak bertanggung jawab) adalah bahwa metode ini memerlukan dukungan untuk grup tugas di Kernel Linux (cgroups), yaitu, hanya pengguna dengan Kernel lebih tinggi dari 2.6.36 yang dapat menerapkan metode ini perbaikan.