Sé que los valores de bondad se heredan del valor de bondad del proceso principal, pero puedo cambiar globalmente el valor de bondad predeterminado para un usuario en particular (yo mismo).
En este caso, tengo en mente un pequeño servidor de conveniencia, al que se accede exclusivamente a través de ssh
. Entonces, creo que podría cambiar mi shell predeterminado de /bin/bash
a /etc/bash5
mientras /etc/bash5
este script es:
#!/bin/sh
nice -n 5 /bin/bash
#file privileges: root:root 755
Esto me parece un hack terrible y propenso a errores. Debe haber una mejor manera.
Me interesan principalmente las soluciones generales, que también se aplicarían a un sistema de escritorio / portátil.
Editar: probé el limits.conf
cambio sugerido , pero no funciona como se esperaba:
root@server# addgroup nice
root@server# adduser myself nice
root@server# echo '@nice soft nice 5' >> /etc/security/limits.conf
Entonces, desde mi máquina cliente, digo
myself@client$ ssh server
myself@server$ sleep 1h &
myself@server$ htop
Ahora, el sleep
proceso tiene un valor inicial de amabilidad de0
, pero si cambio el valor F8
a 19 y luego trato de reducirlo nuevamente, F7
se detiene en5
.
Edit2: Solución
En lugar de usar el nice
elemento limits.conf
, debes usarlo priority
aunque sea contra-intuitivo.
@nice soft priority 5
renice -n 5
en tu~/.profile
?bash5
enfoque, te doy esto. Pero todavía se rompe si digossh myserver -- somecommand
que no?limits.conf
. ¿Para qué es tu salidaps -o pid,nice,cmd
?nice
.Respuestas:
Puede establecer la prioridad para un usuario en particular en el
/etc/security/limits.conf
archivo.De esta manera, puede establecer un límite rígido o suave para cualquier usuario en particular. Por lo tanto, todos los procesos que iniciará este usuario raíz tendrán 5 como el valor de prioridad predeterminado.
Según la página de Wikipedia :
Aquí está la instantánea que muestra que el procedimiento anterior funciona:
Esta es una instantánea del
limits.conf
archivo que muestra una línea que finalmente agregué comoDespués de cambiar esto, comencé una sesión ssh usando el comando
ssh root@localhost
Esta captura de pantalla muestra las dos últimas líneas, que muestra el buen valor de los últimos dos procesos
-bash
ysshd: root@pts/3
ser 15.Editar
Aquí está la instantánea que muestra que puede aumentar y disminuir la simplicidad de un proceso
Edición 2:
Aquí está la instantánea que muestra que incluso el usuario normal puede cambiar el valor de simpatía.
fuente
A niceness of −20 is the highest priority and 19 or 20 is the lowest priority
. Así que primero que tienes que entender que la amabilidad y la prioridad se same..And quiero aclarar que estos sonhard and soft limits
, pero no es igualhard priority
ysoft niceness
..Se ve como se puede establecer una prioridad predeterminada de un usuario en
limits.conf
, con una línea como:Ver man limit.conf .
fuente
@nice soft nice 5
perossh
ing en la máquina y la ejecución desleep 1h
programas que tienen la amabilidad0
dehtop
. ¿Alguna pista de por qué no se aceptó la configuración? Estoy en Debian Squeeze.@nice
en el comentario anterior ... debería ser el del usuario de su máquina Linux.limits.conf
archivo?