› Foros › PC › Software libre
bart0n escribió:Ritman escribió:kakota1992 escribió:Vamos a ver me funciona mejor por lógica.
Yo tengo un ordenador que no es una máquina, para ser más concretos 4 de ram
En Windows de esos 4 de ram windows necesita para el solo 1 (a bote pronto que pueden ser más); RECALCO SOLO PARA EL SISTEMA
Desde que tengo Manjaro además con el escritorio awesome el iniciar el sistema me consume 300 de ram.
Así que puedo decir sin despeinarme que me funciona mejor en Manjaro que en Windows.
Que el sistema gasta mas o menos RAM no es razón para que vaya mas lento o rápido. Mientras no agotes la RAM te da igual si de esos 4Gb en total tienes ocupado 300Mb que 3Gb, el problema sería si te quedas sin RAM, momento en que se tiraría de la memoria de intercambio o swap alojada en disco duro.
Además el consumo de RAM es muy relativo, ya que muchos sistemas la usan (mientras encuentren libre) como caché, acelerando muchas tareas del sistema al acceder menos al disco duro.
no cuela...podría haber servido de excusa unos drivers gráficos más pulidos, pero GNU/linux es el mejor sistema gestionando la memoria del sistema.
Ritman escribió:
Quizás no me expliqué bien, ya que en ningún momento he puesto nombres propios a los sistemas a los que me refería, simplemente quería hacer ver que mas memoria libre no es necesariamente mas velocidad de ejecución de los programas. Vamos, que la explicación que has dado despues va un poco en la linea de lo que quería transmitir, ya que dependen muchos mas factores, a parte de lo de "tirar de RAM=rapido" y "si tira de SWAP=lento", que es obvio.
Por cierto, si eres el Bart0n de otros conocidos foros quizás me recuerdes por un Eeepc 901, pero yo tenía otro nick .
bart0n escribió:en windows no todo el "programa" tiene porque almacenase en memoria y partes de el pueden estar residiendo en disco simultaneamente con las partes que residen en RAM , una idea cohonuda hace 20 años cuando ek KB de ram era caro pero absurdo hoy en dia donde la RAM es barata.
en windows las librerias y programas no tienen porque liberarse de la ram inmediatamente ( es mas, no lo hacen a menos que le fuerces a ello ) tras acabar de utilizar el programa
lo que hace que quede menor cantidad de memoria física disponible y el consiguiente trasvase de datos a la memoria virtual ( disco ) , proceso que consume tiempo de CPU y recursos del sistema.
GNU/linux carga totalemente los procesos en RAM liberandolos de la misma cuando dejan de ser utilizados y haciendo uso de la SWAP solo cuando es realmente imprescindible.
en windows , independientemente de la RAM disponible , es un riesgo deshabilitar la memoria virtual( disco ) puesto que el sistema hace uso de ella quieras o no quieras, se necesite realmente o no..
la propia microsoft desaconseja deshabilitar la memoria virtual y digo yo que algo sabrán de como funcionan sus sistemas.
windos nunca ha sido bueno gestionando memoria porque el sistema de gestion que utiliza digamos que es "equivocado".
Vas a tener que explicarme mejor lo que quieres decir con eso
Y aquí la liamos. Las librerías y programas que no están en ejecución y están "gastando" RAM están cacheados, veamos un ejemplo, el mío ahora mismo (el lenguaje no es muy técnico, pero espero que se entienda):
Leche, pues no es tonto, ha quitado parte de las aplicaciones que tenía cacheadas para poder acelerar, y ha aprovechado el espacio para cargar lo que necesitaba. Y como resulta que cuando escribes la RAM, a ésta le da igual lo que tuviese antes, pues no tarda más, de hecho, la pendiente de carga es lineal y supongo que vendrá limitada por la velocidad de mi cpu y mi red a la hora de bajar las páginas y renderizarlas. Ahora tengo sólo 280MB cacheados, y 3.6GB en uso.
Yo llevo desde que compré el SSD con la memoria virtual deshabilitada (en otro PC). ¿Qué riesgo dices que tiene exactamente? Esto me suena a la típica advertencia de "abstenerse manazas" que suele haber en Windows para evitar que quien no sepa lo que está haciendo toque algo sin saber posibles consecuencias.
Y aquí me vuelvo a descolocar, porque digo yo que Microsoft sabrá mejor que tú si su sistema de gestión de memoria es o no es "equivocado". Pero si se equivocan, di en qué y por qué, por favor.
Korso10 escribió:PD2: Por cierto, y que conste que esto ya es pura especulación, pero posiblemente, si activamos el modo "Economizador", quizá siga otra política que cachee de forma menos agresiva las aplicaciones más usadas.
bart0n escribió:un programa son multitud de procesos y en windos no todos ellos tienen que estar residiendo en la memoria física en todo momento. todos sambemos que el proceso el que tiene que residir en RAM para poder ejecutarse.
bart0n escribió:para windos una sección del disco duro también es memoria ( virtual ) y puede llegar a almacenar ahí procesos que no son realmente necesarios con el consiguiente gasto de recursos. ( escribir datos ya no es tan costoso en tiempo de CPU gracias al DMA , pero aun así sigues haciendo mas trabajo del necesario )
cuando tu ya no haces uso de un proceso no tiene ninguna razón de ser guardar ese proceso en disco "por si lo vas a utilizar en otro momento" ( así tenemos todos el trastero lleno de mierda gracias al "por si me hace falta" )
esas librerias y procesos que no están en uso no se "destruyen" o "dejan morir", antes de usar ese espacio en RAM se cachean a disco (memoria virtual ) y ese proceso tiene su gasto de recursos.
cachear es una buena idea cuando sabes a ciencia cierta que vas a necesitar dichos datos pero te arriesgas a cachear cosas que no necesitas dejando en el tintero cosas que sí, y cachear todo porque si siempre, no lo para nada.
más todavía si el sistema de almacenamiento no dispone de un formato eficiente ( como no lo es NTFS que como sistema de archivos deja bastante que desear ) para guardar ese tipo datos( ¿realmente requieres journaling para guardar procesos volátiles ? , es bueno utilizar un sistema archivos que se fragmenta y donde cada "cacho" puede estar en un sitio diferente???)
el problema ( en teoría ) no es cargar procesos... es que se hace después de utilizarlos o antes de abrir nuevos procesos.
si tienes procesos en memoria, antes de abrir nuevos procesos los guardas en disco ... que no son necesarios ?? da igual... yo los guardo "porsiaca" ( windos)
no los uso... los mato o dejo morir ( GNU/linux )
mientras haya memoria libre no habrá demasiado problema, cuando esta escasee, si.
por eso en sistemas con poca memoria gnu/linux funciona "bien" y windos no. ( y eso es un hecho, no una afirmación )
¿cuanto tiempo usas de continuo bajo cargas grandes de trabajo el PC ?
sin virtual e incluso con ella , lo mas probable en que en procesos de carga te pasen cosas como estas
http://www.youtube.com/watch?v=LOcm7je3diA
( 2GB de ram , y con memoria virtual )
el mismo equipo( mi difunto portatil ,no le gustó el zumo de piña ), la misma imagen , otro S.O
http://www.youtube.com/watch?v=SJPX90zLj1M
hay que saber matar ( o dejar morir ) los procesos para que no interfieran en el funcionamiento del equipo
hilo_experimento-de-seguridad-en-windows-y-linux_1887956
una cosa es que sepas que te estás equivocando y otra diferente es poder rectificar dicha situación. la herencia recibida ( vale, parezco un político hechandole la culpa a los anteriores gestores , y que vale una pasta el desarrollo de otro sistema ) hace que "aunque sepas que está mal, sigas con ello"
mas todavía cuando los fabricantes de hardware te están sacando las castañas del fuego al proporcionar más y más recursos cada día...
[/quote]ya te he dicho porque están equivocados y si quieres te lo vuelvo a repetir... utilizar el disco duro SI o SI siempre para almacenar datos que no tienen porque ser almacenados en vez de destruirlos o dejarles morir, es un error.
y te lo repito, "gastar" esa ram si es malo puesto que en momentos de necesidad "se use o no", se cachea a disco y eso si tiene repercusión en el funcionamiento general del equipo
Eso es el prefetch y el superfetch de windows, solo se cambia por politica de grupo o registro, aparte cualquier cambio en ella si que hará que consuma menos ram pero en general el rendimiento del pc será peor(en muchas cosas consumir mas es precisamente para ser mas eficiente en muchas teareas), siene sentido en entrornos VDI o virtualiados pero no en escritorio.
en muchas cosas consumir mas es precisamente para ser mas eficiente en muchas teareas), siene sentido en entrornos VDI o virtualiados pero no en escritorio
En el tema de OpenGL y directX por rendimiento y tal existe un tema muy importatne a la hora de desarrollar un juego. El engine grafico lo puedes hacer de manera muy parecida en opengl y en directx e incluso puede rendir mas en open gl y ser mas facil portarlo etc.... pero directx si tiene una ventaja importante en este sentido y es que no solo se encarga del apartado gráfico, tu puedes hacer un juego que tanto graficos, sonido, controladores y mas cosas se gestione todo desde la api de directx y es una api muy estable(3 vesriones mayoritarias en practicamente los 3 ultimos años con total compatibilidad hacia atras).
Todo depende de lo que se quiera como siempre pero si es cierto que directx el tema de dar una solucion integral lo tiene muy conseguido
Sí, la verdad es que 2GB de RAM hoy día no están al alcance de todos los bolsillos (imagino que te referirás a Vista, que se ve que fui de los pocos a los que le gustó)
bart0n escribió:http://support.microsoft.com/kb/2160852/es
http://support.microsoft.com/?kbid=294418Sí, la verdad es que 2GB de RAM hoy día no están al alcance de todos los bolsillos (imagino que te referirás a Vista, que se ve que fui de los pocos a los que le gustó)
me refiero a que el mayor avance en memoria para sistemas windows lo han dado samsung, hynix y compañía al fabricar sus productos más baratos y hacer que podamos montar 8GB de ram en vez de 1 paliando de esta manera el "desastre"
Microsoft escribió:Pagefile
RAM is a limited resource, whereas for most practical purposes, virtual memory is unlimited. There can be many processes, and each process has its own 2 GB of private virtual address space. When the memory being used by all the existing processes exceeds the available RAM, the operating system moves pages (4-KB pieces) of one or more virtual address spaces to the computer’s hard disk. This frees that RAM frame for other uses. In Windows systems, these “paged out” pages are stored in one or more files (Pagefile.sys files) in the root of a partition. There can be one such file in each disk partition. The location and size of the page file is configured in System Properties (click Advanced, click Performance, and then click the Settings button).
Users frequently ask "how big should I make the pagefile?" There is no single answer to this question because it depends on the amount of installed RAM and on how much virtual memory that workload requires. If there is no other information available, the typical recommendation of 1.5 times the installed RAM is a good starting point. On server systems, you typically want to have sufficient RAM so that there is never a shortage and so that the pagefile is basically not used. On these systems, it may serve no useful purpose to maintain a really large pagefile. On the other hand, if disk space is plentiful, maintaining a large pagefile (for example, 1.5 times the installed RAM) does not cause a problem, and this also eliminates the need to worry over how large to make it.
Though SuperFetch is a little less aggressive in Windows 7, it will still use a substantial amount of memory—but with an important proviso. The OS will only use memory for cache when there is no other demand for that memory. If an application needs lots of memory then Windows will discard cached data to make it available to the application. The rationale for this behavior is simple: memory that is currently not used by anything at all is memory that is wasted. Filling unused system memory with data from the disk just in case that data is useful is much better than leaving the memory unused. Why? Because if that data is needed—and SuperFetch strives to ensure that the data it loads is likely to be needed—having it already in memory means it can be used near-instantly, rather than having to wait tens of milliseconds to load it from disk.
SuperFetch' second goal is to make applications launch faster. SuperFetch does this by pre-loading your most often used applications in your main memory, based on not only usage patterns, but also on when you use them. For instance, if you have the same routine every morning (Chrome - Mail - Miranda - blu), SuperFetch will pre-load these into memory in the morning. If your evening routine is different (for instance, it includes Word, Excel, and Super Awesome Garden Designer), SuperFetch will adapt, and load those in memory instead during the evening.
Las páginas a las que se ha hecho referencia recientemente están ubicadas en la memoria física, o RAM. Si no se hace referencia a una página de memoria por un tiempo, se escribe en el archivo de paginación. Esto se denomina memoria de "intercambio" o de "salida de página"
Korso10 escribió:1. Estás citando el comportamiento de XP, no de W7 en un artículo de XP y W2003 cuya última revisión fue hace 7 años. A lo mejor en esa época sí andábamos un poco más cortos de RAM para liberar datos no usados de la RAM ¿no crees?
2. Ahí no está hablando de procesos, sino de páginas de memoria
3. que si , que liberar memoria esta muy bien... pero cuando es realmente necesario, no antes. <- eso es lo que NO hace Linux actualmente y SÍ hace Windows, ¿en qué quedamos? ¿Liberamos la memoria de los procesos en cuanto se cierren o no? ¿Liberamos la imagen de 15Mpx cargada en cuanto minimizamos la ventana o no?
Memoria virtual que se utiliza siempre, incluso cuando la memoria necesaria para todos los procesos en ejecución no exceda el volumen de la cantidad de RAM instalada en el sistema.
bart0n escribió:1 que ahora dispongamos de la posibilidad de poner mas ram no quiere decir que todos los equipos la integren... mismamente los netbooks vienen con 1GB de ram y el sistema windos7 que utilizan es de 32bits porque uno de 64 no tira ni de coña (si, puedes utilizar un linux64 en un netbook con 1 solo GB de ram )
2 ¿ y que son las páginas mas que secciones de RAM donde se almacenan los procesos ?
3 ¿¿ y quien ha dicho que esos procesos que se liberan de la RAM se hayan cerrado ???
la imagen de15MPX la liberaremos de la memoria RAM cuando se cierre el proceso para visualizarla o necesitemos esa memoria RAM para otras cosas , no cuando "dejemos de mirarla"
una cosa es un proceso activo ( que debe estar todo el tiempo posible en RAM ) aunque no lo "uses" ( como pueda ser uno de una ventana minimizada ) y otro es un proceso cerrado ( que es cuando tienes que liberar la memoria que utiliza para dejarla libre para otros posibles procesos)
windows decide, por su cuenta y riesgo , que cuando un proceso no esta activo por un tiempo determinado ( no hablamos de cerrado ) debe almacenarse en disco para liberar memoria RAM aunque realmente no sea necesario.
si tu ese proceso lo cierras , antes debes devolverlo a la RAM por lo que has realizado 2 "copias" a lo tonto.
Memoria virtual que se utiliza siempre, incluso cuando la memoria necesaria para todos los procesos en ejecución no exceda el volumen de la cantidad de RAM instalada en el sistema.
blackgem escribió:Resumen?, esta vez no tengo tiempo para leer tanto la verdad :S. Siscutir si se usa 1 o gb de ram menos de ram no lo veo necesario siquiera hoy dia donde hasta los portatiles se venden con 8gb de ram y 4gb minimos :/, hasta los netbook alcanzan los 4gb...
Para mi sinceramente lo bueno es que en GNU/Linux podemos minimizar mucho mas el uso de recursos (tanto cpu como ram) mientras en Windows eso seria contraproducente (quita monitores, actualizadores, antivirus y tal... luego podrias tener efectos secundarios nada deseados). Lo bueno es que ahora mismo los juegos y drivers graficos estan mejor optimizados en Windows por razones logicas... y eso es lo que importa en este hilo.
Tampoco vale la pena comparar un Windows 7 pelado e instalado recientemente con un GNU/Linux con todos los efectos y servicios por defecto (que pocos desactivan la verdad).
Quien la tiene mas grande?, a mi me da igual, yo juego con una gráfica integrada en GNU/Linux a tope graficos (dentro de lo logico ) sin tener que cerrar nada mas ni quitar efectos^^, el unico inconveniente?, o Chromium devora la ram o los torrent el ancho de banda y eso señores... pasa en cualquier sistema .
Korso10 escribió:No, si el resumen es básicamente el que había páginas atrás, lo otro somos bart0n y yo discutiendo sobre gestión de memoria en un offtopic brutal.
Se me ha ocurrido, a raíz de este post: hilo_tearing-en-videos-mint_1901130 ¿Y una de las razones por la que no haya mejores drivers gráficos en Linux no pueden ser los problemas derivados de la antigüedad de Xorg? Por lo demás, Chromium devora la RAM (¿pero y lo bien que va? ) Aunque Linux sigue teniendo un problema con Flash (y Mac también) Y los torrent sólo devoran el ancho de banda si tú les dejas (y si no tocas la configuración por defecto, ya te digo yo que les dejas)