Jalankan proses dengan prioritas lebih tinggi


14

Saya ingin menjalankan mplayerdengan prioritas lebih tinggi daripada proses lainnya, termasuk proses-IO. Bagaimana saya bisa melakukan itu?


Tidak ada jawaban varian lintas-unix untuk pertanyaan ini. Secara umum lebih baik untuk menggambarkan OS apa yang Anda gunakan (termasuk distribusi untuk Linux, tetapi di sini tidak akan banyak masalah jika sama sekali). Saya telah menambahkan linuxtag, harap ubah jika itu bukan yang Anda gunakan.
Gilles 'SO- stop being evil'

Apakah Anda keberatan jika saya bertanya mengapa Anda ingin meningkatkan prioritas mplayer? Saya bertanya karena saya punya masalah sebelumnya di mana meningkatkan prioritas mplayer, efeknya berlawanan dengan apa yang saya coba capai karena mplayer akan sibuk menggunakan waktu CPU melakukan pembersihan pasca produksi, kemudian terhenti karena jaringan akhirnya Mendapat udara untuk mengambil lebih banyak konten, maka mplayer akan kembali hidup, hanya untuk berhenti lagi menunggu jaringan.
killermist

Saya menanyakan alasan ini, saya memutar film melalui mplayer. Setiap kali saya mencoba mengunduh beberapa file GB melalui jaringan. Mplayer mengamati slicing dan brengsek saat bermain.
SHW

Jawaban:


16

Untuk mengatur penggunaan niceness (terikat CPU) nice. Untuk mengatur IO niceness (IO terikat) gunakan ionice. Lihat halaman manual masing-masing untuk informasi lebih lanjut. Anda dapat menggunakannya bersama sebagai berikut:

ionice -c 2 -n 0 nice -n -20 mplayer

Catatan: tingkat kebaikan terendah (lebih rendah berarti lebih menguntungkan) yang dapat Anda tentukan ditentukan oleh limits.conf. Di komputer saya file tersebut berada di /etc/security/limits.conf.


1
Menyebutkan kelas penjadwal io adalah baik, karena itu mungkin menjadi faktor besar. Tidak ada artinya sama sekali untuk -c2kelas penjadwalan menengah, proses secara default diurutkan berdasarkan level yang bagus, jadi perintah contoh yang Anda berikan benar-benar tidak perlu. Orang bisa mencoba menempatkan mplayer di -c1kelas waktu nyata. (Dengan akses root.)
mattdm

7

Secara umum, sebagai pengguna non-root, Anda hanya dapat mengurangi prioritas tugas Anda, bukan meningkatkannya. Jadi, satu pendekatan adalah menurunkan prioritas yang lainnya. Atau, Anda dapat mengatur sesuatu di tingkat sistem yang menangani prioritas Anda.

Jika Anda menggunakan distribusi Linux yang relatif modern, cara yang paling ampuh adalah dengan kelompok kontrol . Ini masih dalam tahap awal sehingga pada dasarnya Anda harus mengkonfigurasi semuanya dengan tangan, tetapi singkatnya, Anda ingin mengonfigurasi kategorizer untuk memasukkan proses yang berbeda ke dalam kelompok kontrol CPU yang berbeda, dan kemudian memberikan proses mplayer lebih banyak pembagian CPU.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.