Necesitaba correr convertcon muchas imágenes al mismo tiempo. El comando tardó bastante pero esto no me molesta.
El problema es que este comando inutilizó mi computadora mientras se ejecutaba el comando (durante aproximadamente 15 minutos).
Entonces, ¿es posible limitar el comando limitando los recursos (procesador y memoria) al comando, directamente desde la línea de comando? Esto solo puede funcionar si agrego algo a la misma línea antes de presionar Enterporque una vez que comienzo el proceso, la computadora se ralentiza tanto que es imposible, por ejemplo, cambiar a "Monitor del sistema" y reducir la prioridad.
Editar: resultados superiores e iotop
Logré correr topy sudo iotop >iotop.txtmientras hacía una de estas operaciones de conversión. (El archivo iotop.txt producido es difícil de leer)
Resultados de arriba:
PID USUARIO PR NI VIRT RES SHR S% CPU% MEM TIME + COMMAND 14275 nombre de usuario 20 0 4043m 3.0g 1448 D 7.0 80.4 0: 16.45 convertir
Resultados de iotop:
[? 1049h [1; 24r (B [m [4l [? 7h [? 1h = [39; 49m [? 25l [39; 49m (B [m [H [2JLECTURA TOTAL DEL DISCO: 1269.04 K / s | ESCRITURA DEL DISCO total : [59G0.00 B / s (B [0; 7m TID PRIO USER DISK READ DISK WRITE SWAPIN (B [0; 1; 7m IO> (B [0; 7m COMMAND [3; 2H (B [m2516 be / 4 username 350.08 K / s 0.00 B / s 0.00% 0.00% zeitgeist-datahub 7394 be / 4 nombre de usuario 568.88 K / s 0.00 B / s 77.41% 0.00% --rendere ~ .530483991 [5; 1H14275 nombre de usuario inactivo 350.08 K / s 0.00 B / s 37.49% 0.00% convert S ~ f test.pdf [6 ; 2H2048 be / 4 raíz [6; 24H0.00 B / s 0.00 B / s 0.00% 0.00% [kworker / 3: 2] [5G1 be / 4 root [7; 24H0.00 B / s 0.00 B / s 0.00% 0.00% init
Además, incluso después de que finaliza el proceso, la computadora no vuelve al rendimiento anterior. Encontré una forma de evitar esto corriendo sudo swapoff -aseguido desudo swapon -a
fuente

convert *.tif bla.pdfproceso a la vez, pero la entrada es un montón de imágenes tif. Es una forma de producir un pdf a partir de un montón de imágenes que funciona bien pero ahoga mi PC.find . -iname '*.tif' | xargs -I% convert % %.pdfen lugar defind . -iname '*.pdf' | xargs -I% convert % %.pdf. ¡También fue más rápido! Gracias.-execy . En su caso, en lugar de usar , usaría:-execdirfindxargsfind -iname '*.tif' -execdir convert {} {}.pdf ';'man nice, Y si es necesario de E / S de estrangulaciónman ionice.Veamos algunos ejemplos simples.
Disminución del uso de CPU:
Sin embargo, según su descripción, el uso de la CPU no es su problema real aquí. Lo más probable es que esté teniendo una fuerte disputa de E / S.
Uso del disco de regulación:
-c2es el "mejor esfuerzo" y-n7es la prioridad más baja del "mejor esfuerzo". Por lo tanto, esto acelerará el trabajo para reducir la prioridad de E / S que la mayoría de las otras cosas en el sistema.-c3(no es necesario un nivel de prioridad) significa "Solo inactivo". Los trabajos configurados-c3SOLAMENTE ocupan tiempo de programación de disco inactivo, sin prácticamente ningún impacto en el sistema, pero potencialmente un tiempo de ejecución considerablemente más largo para su trabajo, dependiendo de qué tan ocupado esté el resto del sistema.fuente
niceen un comando de conversión? Si no me equivoco, funciona bien para los procesos que ya se están ejecutando.nice -n 20próxima vez.iotopmientras ejecutas el proceso? Por lo general, un solo proceso que consume gran cantidad de CPU tendrá muy poco efecto sobre la usabilidad del sistema, pero un proceso que destruya el disco duro puede DETENER MUY rápidamente todo, especialmente si está utilizando una unidad convencional, no una SSD.convert blah.gif blah.jpg & iotoplo que seiotopactivará instantáneamente tan pronto como haya comenzado suconverttrabajo.Aquí hay un artículo bastante bueno sobre el uso de un programa llamado
cpulimitpara limitar el uso de CPU de cualquier proceso:http://maketecheasier.com/limit-cpu-usage-of-any-process-in-linux/2010/09/22
El problema es como usted dijo al encontrar el PID del
convertproceso una vez que ha comenzado.Después de comenzar,
convertsi aún puede escribir comandos en la terminal, puede ejecutarps aux | grep convertpara encontrar su PID y luegosudo cpulimit -p PID -l CPU%comenzar a acelerar.O si el inicio
converttambién bloquea su terminal, el artículo le muestra cómo puede ejecutarsecpulimitcomo un demonio en segundo plano que supervisará y acelerará automáticamente cualquier proceso durante una cierta cantidad de uso de la CPU. ¡Buena suerte!fuente
nicecomando incorporado .cpulimitlimitará el proceso a un cierto% de uso de CPU, ya sea que cualquier otra cosa necesite o no el tiempo de CPU;nice, por el contrario, establece niveles de prioridad (¡40 en total!) que permiten priorizar una tarea por encima (o por debajo) de otras.