On Tuesday 16 June 2009 15:19:12 Camaleón wrote:
El 2009-06-16 a las 14:59 +0200, Karl García Gestido escribió:
On Tuesday 16 June 2009 00:15:03 Camaleón wrote:
El 2009-06-15 a las 23:34 +0200, Karl García Gestido escribió:
On Sunday 14 June 2009 12:59:32 Camaleón wrote:
La inexistente ley de Murphy sobre la swap dice que definas el valor que definas siempre te vas a quedar corto :-P
Eso de que es inexistente XDD
Es que me lo he inventado :-)
Como el resto ;)
¿Mande? :-? Hay algo de la Ley de Murphy que no sea inventado por alguien? si quieres, lo de la swap puede ir en la sección "informática" (que la hay); puede que como una especialización de la regla o teorema: "Cualquier cifra que usted fije como el espacio de disco necesario para una actividad o aplicación se quedará corta en cuanto empiece a usar el sistema".
Esa ineficiencia comparativa habría que validarla antes:
- Analizando "cuántas veces" un sistema hace uso de la swap - "Cuánto tiempo" hace uso de la swap - Si hay una "merma real en el rendimiento" por usar un archivo en lugar de una partición - Si esa "merma" resulta significativa
(...)
Lo primero que ahorras es el cálculo del tamaño del archivo, y las consecuentes acciones para cambiarlo.
Explica eso, anda :-) Bueno, la operación calcular_tamaño_swap_necesaria() tiene que necesitar X centésimas de segundo o lo que sea; comparar dicho tamaño necesario con tamaño_swap() es casi instantáneo, pero sólo casi; y la operación modificar_tamaño_swap() cuando sea preciso lleva mucho más. Ten en cuanta que todo esto son operaciones de disco, que necesitan mucho tiempo (comparativamente), y que tendrían que hacerse con mucha frecuencia.
Lo segundo que te ahorras es el tipo de ficheros: en la swap guardas páginas o segmentos de memoria, según el sistema de memoria virtual que uses.
Datos, datos, quiero datos objetivos no imaginarios ;-)
Y no estoy hablando en broma, me gustaría ver datos de rendimiento usando un archivo como swap en el uso de aplicaciones para servidor (mysql, postfix, etc...) para ver si merece la pena esta opción. Eso yo creo que sí se puede buscar. Es posible, puede que probable, que para determinadas aplicaciones dispongas de distintas estrategias de "swaping". Pero cuando hablamos de swap estamos hablando de la swap del sistema, la cual no puede ser accedida por las aplicaciones de usuario.
Por otra parte, en un servidor la necesidad de swap puede indicar la necesidad de aumentar RAM.
En un sistema paginado, por ejemplo, tú coges una página de memoria y la vuelcas a una posición dada de la memoria virtual, y tomas otra página de esta memoria y la "subes" a memoria principal. Como en este sistema de ficheros sólo haces esto, puedes volver a obviar la conversión del tipo de ficheros, obteniendo un tipo de sistema de ficheros "especializado" en las operaciones que necesitas. Puedes verlo así: no hay nada que justifique las diferencias de rendimiento de ext3, xfs y reiserfs, no?
Sí lo hay ¿no?
Cada sistema de archivos está dieñado para obtener mejores rendimientos en "x" campos, lo cual no los hace "inútiles" para el resto de "campos" Bien, swap es un tipo de sistema de ficheros como otro cualquiera. En determinadas operaciones, obtendrá mejores o peores resultados que otros sistemas, e incluso es muy posible que muchas operaciones no estén ni siquiera implementadas (por ejemplo, renombrar archivo). :-? :
Por supuesto, si tuviésemos un tipo de ficheros "perfecto" la mejor opción sería la del archivo dinámico. Como no lo hay, lo normal es usar una pléyade de sistemas de ficheros adaptados a nuestras necesidades, siendo uno de ellos "swap".
Según la wikipedia, en MacOS X recomiendan usar también, no uno, sino varios archivos para swap >:-) Bueno, en la Wikipedia los artículos no tienen por qué ser muy exactos ;)
En cuanto a qué es más sencillo,
¡¡Ojo!! No quiero malinterpretaciones...
Lo que he dicho que sería más sencillo es "la gestión por parte del kernel para manejar la swap en el caso de que se pudiera configurar un valor dinámico". Resulta más sencillo manipular un archivo que una partición. La manipulación es más complicada, es el diseño del sistema el que es más sencillo. En GNU/Linux usas una capa por encima de los distintos tipos de ficheros, así que utilizar swap no es diferente a usar ext3 para el sistema. Si usas un archivo, debes añadir varias operaciones: abrir archivo, cerrar, modificar su tamaño, etc. No es que sea muy difícil en relación al diseño del sistema, sinó que esas operaciones deben de ser "gestionadas" "además" de las
Lo ideal es tener varias swaps en varios discos, de forma que se pueda paralelizar su acceso. Ojo, si el sistema tiende a ubicar las páginas o segmentos de forma adyacente esta estrategia puede volverse obsoleta e incluso puede degradar el rendimiento. propias del sistema de memoria (intercambio, búsqueda, etc.)
bueno, Windows usa este sistema y GNU/Linux usa la partición.
Ah, ¿entonces quedamos en que windows no admite particiones sino que necesita un archivo? >:-) Ambos sistemas pueden utilizar ambos sistemas, pero focalizan uno dado. No sé el Windows Server qué hace.
Recorto el resto. No estoy hablando del windows, no quiero guerras absurdas sobre "sistema mejor-sistema peor"... otra vez no :-) Eso se llama "requerimentos del sistema", no tiene misterio, puedes verlo en cualquier libro de introducción a los sistemas operativos y no implica las consideraciones subjetivas de nadie ;)
Podemos tabularlo: GNU/Linux y otros: Focaliza la Eficiencia en gestión de memoria a costa de la sencillez del sistema. Usa una capa de "sistema de ficheros virtuales" que facilita el manejo de la partición swap (ojo, no es lo mismo que hace Unix! y hasta donde yo sé todo el modelo de gestión de disco y de memoria cambia mucho entre ambos sistemas y me excede con mucho) Windows: Focaliza la sencillez del sistema y la sencillez de la aproximación del usuario (que no tiene que calcular el tamaño óptimo para la swap) a costa de una cierta pero no definitiva degradación del rendimiento del sistema de memoria. No podemos valorar ambas estrategias sin incurrir en elementos subjetivos; pero sí podemos evaluar "cuál es mejor desde el punto de vista técnico". Windows comenzó a usar archivo dinámico porque el sistema operativo con Microsoft Office simplemente no tenía espacio suficiente (incluso podías comprimir -es posible que aún esté por ahí la herramienta) en los discos duros de 250 MB de hace 20 años: Windows unos 40-50 MB, Office unos 150 MB, libre quedan unos 50 MB. Si pones una memoria virtual de 32 MB, ni siquiera tendrás sitio para los archivos temporales del sistema. Lo que espantará al usuario XD Unix tradicionalmente hizo uso del modo texto e incluso si se usaba un modo gráfico tendía a usarse de forma compartida, una suerte de "servidor de aplicaciones" -sólo el servidor gráfico debe de ser local-. Por tanto podías tener tu partición swap sin problemas, para lo que pudiera pasar. IMHO GNU/LInux heredó máquinas con un poco más de espacio de disco en relación con el tamaño completo del sistema. Además, el uso de librerías compartidas reduce la necesidad de espacio. En el año ¿1999? una instalación básica de Red Hat con sistema gráfico necesitaba unos 200 MB, que con unos 64 MB para swap no representaban el 30% de la capacidad típica de la época. Cómo que yo lo instalaba en poco más de 400 MB!!! XD ). Recuérdese que entonces usar un sistema gráfico era casi anatema XD así que (sigue siendo IMHO) muchos desarrolladores no se preocupaban por las necesidades de espacio de disco XD Al tratar ambas estrategias sólo pretendía focalizar el hecho de que la evaluación de los usuarios depende. Si usas Windows, puedes encontrar que el sistema de intercambio que usa es aceptable, y que el degradamiento del sistema compensa no tener que reservar espacio (la primera documentación sobre la conveniencia de un sistema de memoria virtual de tamaño fijo que leí fue la propia ayuda de Windows); otro usuario puede considerar inaceptable una pérdida de rendimiento del sistema de ese nivel... Que sea mejor técnicamente no quiere decir que sea preferible ;)
Saludos,
-- Camaleón Salud!!
-- -karl -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org