# Duda con opcion en make.conf

## farias

saludos

es la primera vez que pruebo gentoo,  tengo  un athlon dual core pero en la bandera -j tengo 4, -j4, veo que en monto de carga salen 3 nucleos y obviamente mala distribucion al mostrar la carga, pero tienen algun efecto negativo en la distribucion real de carga o sobre el desempeño?

gracias

----------

## edgar-eloy

 *farias wrote:*   

> saludos
> 
> tienen algun efecto negativo en la distribucion real de carga o sobre el desempeño?
> 
> gracias

 

Antes que nada, Bienvenido al foro.

Te hago una pregunta, "-j4" ¿Te estás refiriendo a las variables de las opciones de compilación?

Si es lo que yo entiendo en tu pregunta, es el archivo que está en /etc/make.conf, en este archivo están todas la variables y opciones de compilación de tu sistema, es decir cada vez que vayas a instalar algo Portage va a compilar leyendo ese make.conf

Con respecto a tu pregunta esa variable se encuentra en MAKEOPTS="-j4", se define como la cantidad de CPUs de tu sistema, más uno. Esto define cuantas compilaciones paralelas pueden hacerse al mismo tiempo cuando instalamos un paquete, es un número recomendado, en tu caso seria "-j3" pero que tengas "-j4" no va a afectar el despeño cotidiano de tu sistema, solo se usará esa opción a la hora de compilar. Puede que compile mejor o no eso lo deberias ir probando.

Un consejo, lee esta documentación http://www.gentoo.org/doc/es/handbook/handbook-x86.xml?part=1&chap=6 y esta http://www.gentoo.org/doc/es/gcc-optimization.xml?style=printable a ver si tus dudas se aclaran.

No dudes en preguntar cualquier cosa, estamos para ayudarnos mutuamente.

Saludos

----------

## i92guboj

 *farias wrote:*   

> saludos
> 
> es la primera vez que pruebo gentoo,  tengo  un athlon dual core pero en la bandera -j tengo 4, -j4, veo que en monto de carga salen 3 nucleos y obviamente mala distribucion al mostrar la carga, pero tienen algun efecto negativo en la distribucion real de carga o sobre el desempeño?
> 
> gracias

 

Las banderas en MAKEOPTS se pasan al comando make a la hora de compilar. Si tienes dudas deberías consultar la documentación de make para un entendimiento más profundo.

La utilidad make gestiona las compilaciones de forma que no tengas que ir compilando a mano cada fichero fuente para luego enlazar todos los ficheros objeto resultantes en un binario ejecutable. -j4 significa que portage indicará a make que está autorizado a lanzar hasta cuatro instancias simultáneas de gcc al ir a compilar un programa determinado. Por supuesto ésto solo es útil en los casos en los que hay cuatro ficheros fuente que entre los cuales no hay interdependencias, ya que en tal caso se debe seguir un orden determinado al procesar los archivos.

En primer lugar, como te comentan más arriba, todo esto tan solo es válido en lo que se refiere al funcionamiento de portage, sobre todo cuando se llama al comando "emerge". Que sea bueno o malo para el rendimiento de portage dependerá de la tarea en cuestión y de las limitaciones de tu máquina. Ten en cuenta que cada nueva sesión de gcc que se lance va a ocupar una cantidad importante de memoria RAM, por tanto ése va a ser uno de los factores más limitantes. También algunos paquetes son más pesados que otros. No creo que tuvieras problemas para trabajar con -j16 en una máquina moderna para compilar gkrellm, pero posiblemente los tendrías a la hora de compilar google chrome, webkit u openoffice por poner algunos ejemplos.

Usualmente, tal y como dicen más arriba, se considera que el valor óptimo para dicha opción es el número total de cpu's de tu sistema incrementado en uno. Puedes ver las cpus disponibles mirando el contenido de /proc/cpuinfo

----------

## farias

Gracias por la respuesta, mucho mejor que las recibidas en la seccion oficial de hardware y kernel

----------

## JotaCE

 *farias wrote:*   

> Gracias por la respuesta, mucho mejor que las recibidas en la seccion oficial de hardware y kernel

 

Quedate por aqui compa y veras que entraras gente que sabe como no te imaginas!!!

----------

