Tengo un proceso para una aplicación que necesita ejecutarse, pero termina usando demasiado IO para lo que hace. Y realmente bloquea mi computadora, haciendo imposible hacer cualquier otra cosa mientras se está ejecutando.
Entonces, me preguntaba si hay una manera de limitar el uso de E / S, RAM y CPU para un proceso determinado. Y sus subprocesos, por supuesto.
Esto está en mi sistema Ubuntu 18.04 LTS.

ionice,renicey quizásulimit -scomandos, y eso es todo.cgroups-ioasí que no tengo idea :)Respuestas:
Debe utilizar una combinación de todos
cgexec,cpulimityionice:Límite de RAM y SWAP:
Los comandos anteriores crean un grupo de control llamado
szMyGroup(por ejemplo, en su casogroup-great-uncle), establecen un límite para los procesos ejecutados conszMyGrouphasta 512 MB de memoria física y hasta 1024 MB de intercambio y luego:que ejecutará su programa bajo el
szMyGroupgrupo de control, asegurando así que cumplan con los límiteslimitar el disco IO:
El comando anterior se usa
pgrepcon la reutilización de partes de la línea de comandos actual para limitar su acceso al disco para usar solo el disco cuando ningún otro programa lo está usandoLimite la CPU:
La CPU del programa ahora está limitada al 25% del máximo
Si el programa no usa mucha CPU para empezar, reduzca el valor de cpulimit a la mitad o menos de lo que usa actualmente.
fuente