Saya tahu bahwa nilai kebaikan diwarisi dari nilai kebaikan dari proses induk, tetapi bisakah saya secara global mengubah nilai kebaikan standar untuk pengguna tertentu (saya sendiri).
Dalam hal ini saya memiliki server kenyamanan kecil dalam pikiran, yang diakses secara eksklusif melalui ssh
. Jadi, saya pikir saya bisa mengubah shell default saya dari /bin/bash
ke /etc/bash5
sementara /etc/bash5
adalah script ini:
#!/bin/sh
nice -n 5 /bin/bash
#file privileges: root:root 755
Ini mengejutkan saya sebagai hack and error yang rentan. Pasti ada cara yang lebih baik.
Saya sebagian besar tertarik pada solusi umum, yang juga berlaku untuk sistem desktop / laptop.
Sunting: Saya mencoba limits.conf
perubahan yang disarankan , tetapi tidak berfungsi seperti yang diharapkan:
root@server# addgroup nice
root@server# adduser myself nice
root@server# echo '@nice soft nice 5' >> /etc/security/limits.conf
Lalu, dari mesin klien saya, kataku
myself@client$ ssh server
myself@server$ sleep 1h &
myself@server$ htop
Sekarang, sleep
proses memiliki nilai kebaikan awal0
, tetapi jika saya mengubah nilainya F8
menjadi 19 dan kemudian mencoba menguranginya lagi dengan F7
berhenti di5
.
Edit2: Solusi
Alih-alih menggunakan nice
item dalam limits.conf
, Anda sebenarnya harus menggunakan priority
meskipun itu kontra-intuitif.
@nice soft priority 5
renice -n 5
Anda~/.profile
?bash5
pendekatan saya , saya berikan ini. Tapi itu masih rusak jika saya katakanssh myserver -- somecommand
bukan?limits.conf
. Untuk apa output Andaps -o pid,nice,cmd
?nice
.Jawaban:
Anda dapat mengatur prioritas untuk pengguna tertentu dalam
/etc/security/limits.conf
file.Dengan cara ini Anda dapat menetapkan batas keras atau lunak untuk pengguna tertentu. Jadi semua proses yang akan dimulai oleh pengguna root ini memiliki 5 sebagai prioritas default vale.
Menurut halaman Wikipedia :
Ini adalah snapshot yang menunjukkan prosedur di atas berfungsi:
Ini adalah snapshot dari
limits.conf
file yang menunjukkan baris yang saya tambahkan pada akhirnya sukaSetelah mengubah ini, saya memulai satu sesi ssh menggunakan perintah
ssh root@localhost
Tangkapan layar ini menunjukkan dua baris terakhir yang menunjukkan nilai bagus dari dua proses terakhir
-bash
dansshd: root@pts/3
menjadi 15.Edit
Ini adalah snapshot yang menunjukkan bahwa Anda dapat menambah dan mengurangi kebaikan suatu proses
Edit 2:
Ini adalah snapshort yang menunjukkan bahwa pengguna normal pun dapat mengubah nilai kebaikan.
sumber
A niceness of −20 is the highest priority and 19 or 20 is the lowest priority
,. Jadi, pertama-tama Anda harus memahami bahwa kebaikan dan prioritas adalah sama .. Dan saya ingin menjelaskan bahwa ini adalahhard and soft limits
tetapi tidak sepertihard priority
dansoft niceness
..Ini terlihat seperti Anda dapat mengatur prioritas default untuk pengguna di
limits.conf
, dengan baris seperti:Lihat man limit.conf .
sumber
@nice soft nice 5
tapissh
ing ke dalam mesin dan melaksanakansleep 1h
acara sebagai memiliki kebaikan0
dihtop
. Adakah petunjuk mengapa pengaturan tidak diterima? Saya sedang memeras debian.@nice
di komentar di atas..harus menjadi salah satu pengguna mesin linux Anda.limits.conf
file?