Ubah kebaikan (prioritas) dari proses yang sedang berjalan

80

Apakah mungkin untuk menetapkan nicelevel baru dari proses yang berjalan dengan id yang dikenal?

Apakah operasi ini memerlukan akses root, atau hanya menjadi pemilik proses?

Adam Matan
sumber

Jawaban:

76

Terminal

Jika Anda berada di terminal, Anda dapat menggunakannya renice

renice [-n] priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

Contoh sederhananya adalah

renice 8 31043
31043: old priority 5, new priority 8

Anda juga dapat mengopernya dengan hard flags, tetapi mengikuti urutan itu (Anda harus melewati prioritas terlebih dahulu dan kemudian pid - jika Anda mengubah urutannya maka itu akan menampilkan pesan penggunaan)

renice -n 5 -p 31043
31043: old priority 8, new priority 5

Prioritas bekerja pada skala -20hingga 19- Semakin rendah angkanya, semakin tinggi prioritasnya pada sistem.

Jika Anda memiliki proses maka Anda tidak perlu root - namun, jika proses tersebut dimiliki oleh pengguna lain atau jika Anda berencana untuk mengubah grup / pengguna dari root proses (via sudo) akan diperlukan.

Marco Ceppi
sumber
11
Anda tidak dapat mengurangi kebaikan sebagai pengguna. :)
htorque
5
Seperti yang dikatakan @htorque, non- rootpengguna hanya dapat meningkatkan kesenangan - mereka tidak dapat mengurangi kesenangan, bahkan ke tingkat kesenangan sebelumnya, dan bahkan ke tingkat kebaikan sebelumnya mereka memiliki sendiri reniceproses dari. Saya sarankan untuk mengedit jawaban ini untuk memasukkan informasi itu.
Eliah Kagan
2
Apakah ada kerugian untuk membuat prioritas proses -20?
James Watkins
2
@ JamesWatkins Anda dapat mematikan komputer Anda
DarthRubik
33

GUI

  • Alt+ F2dan ketiksudo gnome-system-monitor

Sebelum ke 11.04: Sistem> Administrasi> Monitor Sistem. Pilih Proses.
Di 11,04: Alt+ Adan cari system monitor.

Id ditunjukkan pada gambar di sini:

masukkan deskripsi gambar di sini

Dan menyenangkan tidak memerlukan sudo untuk meningkatkan kebaikan jika Anda memiliki tugas. Itu terjadi jika Anda perlu mengurangi kebaikan.

Rinzwind
sumber
10

Mulai perintah dengan prio yang bagus

nice -n 19 your_command

Proses renovasi

renice 19 $(pidof your_command_name_like_for_ex_ffmpeg)

19

antara -20 dan 19

19 adalah prioritas terendah

Philippe Gachoud
sumber
8

Penggunaan "renice" di terminal adalah sebagai berikut:

Usage:
 renice [-n] <priority> [-p] <pid> [<pid>  ...]
 renice [-n] <priority> [-g] <pgrp> [<pgrp> ...]
 renice [-n] <priority> [-u] <user> [<user> ...]

Options:
 -g, --pgrp <id>        interpret as process group ID
 -h, --help             print help
 -n, --priority <num>   set the nice increment value
 -p, --pid <id>         force to be interpreted as process ID
 -u, --user <name|id>   interpret as username or user ID
 -v, --version          print version

Menggunakan "sudo" sebelum perintah "renice" meningkatkan pengguna ke tingkat root dan kata sandi admin / root akan diperlukan.

Jadi mis. Jika Anda ingin meningkatkan proses dengan PID (ID proses) 2606 dari prioritas Normal ke Prioritas tinggi , Anda akan mengetikkan terminal sebagai berikut:

sudo renice -n -5 -p 2606
pengguna141344
sumber
3

Anda juga dapat mengganti proses dalam bagian atas.

1) Mulai atas

$ top

2) renice dengan menekan r. Anda akan diminta untuk ID Proses (PID) dari proses yang ingin Anda renice. PID default adalah proses pertama (satu memakan sumber daya terbanyak). Konfirmasikan dengan Enter. Tetapkan nilai bagus baru dari -20 (prioritas lebih tinggi) ke +19 (prioritas lebih rendah).

masukkan deskripsi gambar di sini

Timothy Pulliam
sumber