Foros del Web » Administración de Sistemas » Unix / Linux »

Linux/Unix: Limite ficheros en directorio???

Estas en el tema de Linux/Unix: Limite ficheros en directorio??? en el foro de Unix / Linux en Foros del Web. Hola Hoy viendo el diseño de una aplicación me ha surgido una duda. ¿En linux y/o unix hay un número máximo de archivos por directorio? ...
  #1 (permalink)  
Antiguo 13/08/2008, 01:36
Avatar de javimartinez  
Fecha de Ingreso: marzo-2003
Ubicación: Leganés (Madrid)
Mensajes: 284
Antigüedad: 21 años, 1 mes
Puntos: 1
Pregunta Linux/Unix: Limite ficheros en directorio???

Hola

Hoy viendo el diseño de una aplicación me ha surgido una duda. ¿En linux y/o unix hay un número máximo de archivos por directorio? ¿O puede un directorio tener infinitos archivos? Me suena que esto dependía del sistema operativo en si (más concretamente de sus sitema de archivos), pero no recuerdo y no encuentro la respuesta en este caso.

Gracias y un saludo :)
__________________
Javi Martínez

Web: Acertijolandia Blog: A Entretenerse
  #2 (permalink)  
Antiguo 13/08/2008, 08:50
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Linux/Unix: Limite ficheros en directorio???

Probablemente haya un límite, después de todo nada es infinito. Pero estoy seguro de que ese límite es más que suficiente para cualquier aplicación. Personalmente he visto carpetas con varios miles de archivos, así que el límite es mayor que eso

Si tenés a mano una terminal, podrías probar un pequeño script bash como este:

Código:
x=0
for ((;;)) do
    touch $x
    x=`expr $x + 1`
done;
Que te creará archivos de nombre 0, 1, 2, .....

Supongo que podés dejarlo corriendo un rato a ver si el límite se alcanza


Saludos.
  #3 (permalink)  
Antiguo 13/08/2008, 09:01
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 9 meses
Puntos: 29
Respuesta: Linux/Unix: Limite ficheros en directorio???

Bueno, esto es un poco de teoria acerca de como funcionan los sistemas operativos en general. No te lo voy a explicar todo porque la verdad es algo bastante largo de contar pero basicamente se trata de lo siguiente.

Los Sistemas Operativos tienen unos espacios llamados block size, ese block size es 100% configurable aunque generalmente viene en tamaños de 4 kb u 8kb dependiendo del FS. Digamos que si tengo un servidor de streaming, donde almaceno muchos videos de 100 o 200 mb pues configurare el block size con un tamaño de 50 mb para de esta manera aprovechar el I/O en el disco.

Esto quiere decir que aunque tengas un archivo de 2 bytes, el SO reservara los 4kb u 8kb o 50 MB dependiendo de la configuración. Pero este tipo de configuraciones solamente se usan en servidores de alto desempeño.

Respecto a tu pregunta, pues en teoría no debería haber ningún problema a no ser que tengas en cuenta lo que te acabo de contar, porque este block size si influye en el numero de archivos, no tanto dentro de un directorio sino dentro de un file system completo.

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #4 (permalink)  
Antiguo 13/08/2008, 10:43
Avatar de javimartinez  
Fecha de Ingreso: marzo-2003
Ubicación: Leganés (Madrid)
Mensajes: 284
Antigüedad: 21 años, 1 mes
Puntos: 1
Respuesta: Linux/Unix: Limite ficheros en directorio???

Gracias por las respuestas.

Esta mediodía he dejado un script en el curro en el que creaba 100.000 ficheros en un directorio y, cuando me he ido, llevaba unos 60.000 y no había tenido problemas, así que ya daba por supuesto que no había un límite bajo (es lo que me sonaba más o menos de las asignaturas de Sistemas Operativos, los inodos y todo eso, jeje). Pero ya con la explicación teórica me queda mucho más claro.

Saludos :)
__________________
Javi Martínez

Web: Acertijolandia Blog: A Entretenerse
  #5 (permalink)  
Antiguo 14/08/2008, 16:08
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 9 meses
Puntos: 76
Respuesta: Linux/Unix: Limite ficheros en directorio???

Según Wikipedia, el máximo número de archivos que soporta un sistema de archivos EXT2 es de 10^18, es decir, 1.000.000,000.000,000.000 archivos (un trillón, excepto para los USAnos, que es un quintillón). Para EXT3, que es una variación de EXT2 (y el sistema de archivos más utilizado en GNU/Linux), dice que es "variable".
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #6 (permalink)  
Antiguo 15/08/2008, 08:03
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 9 meses
Puntos: 29
Respuesta: Linux/Unix: Limite ficheros en directorio???

Aqui en este link vemos lo que yo decía que los limites del FS estan en funcion del block size. Gracias por tu aporte Defero.tk

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #7 (permalink)  
Antiguo 15/08/2008, 08:27
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Linux/Unix: Limite ficheros en directorio???

No lo había pensado en mi primera respuesta, pero es claro que si mi tamaño de bloque es 1MB y mi disco es de 1GB, voy a tener como límite (algo menos que) 1000 archivos. Aunque en realidad es un poco más complicado, esa es la forma más clara de verlo.

Igual me quedé con ganas de correr el programita


Saludos.
  #8 (permalink)  
Antiguo 15/08/2008, 08:34
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 9 meses
Puntos: 29
Respuesta: Linux/Unix: Limite ficheros en directorio???

Cita:
Iniciado por alvlin Ver Mensaje
No lo había pensado en mi primera respuesta, pero es claro que si mi tamaño de bloque es 1MB y mi disco es de 1GB, voy a tener como límite (algo menos que) 1000 archivos. Aunque en realidad es un poco más complicado, esa es la forma más clara de verlo.

Saludos.
Bueno no es asi de sencillo no más, además dime tú quién demonios se pone a configurar el block size de un FS. O sea nadie dentro de sus cabales suele hacer este tipo de procedimientos.

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #9 (permalink)  
Antiguo 15/08/2008, 08:41
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Linux/Unix: Limite ficheros en directorio???

Claro que no, cualquiera toma simplemente el valor por defecto.
Solamente aquellos con necesidades específicas se toman el tiempo de optimizar su sistema de archivos (porque son los que le sacan provecho a esas configuraciones particulares)

Eso está claro. Solamente comentaba que, más allá del espacio que el sistema de archivos necesita para funcionar, más el 'journaling' cuando está, el espacio restante se divide en bloques que solamente pueden contener un archivo.
Entonces encontrar un límite físico a la cantidad de archivos es más o menos trivial:
capacidad restante / tamaño de bloque

No estoy sugiriendo manejar el tamaño de bloque, ni nada similar.
  #10 (permalink)  
Antiguo 15/08/2008, 08:49
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 9 meses
Puntos: 29
Respuesta: Linux/Unix: Limite ficheros en directorio???

Bueno, solamente era una especie de aclaración, pues esa es la teoría, y yo a pesar de haber manejado muchísimos de servidores en mi corta vida profesional nunca he tocado ese parámetro.

Además estos son límites teóricos y si te digo la verdad no tengo ni idea cómo lo calculan y yo no sé si esto de los block size funciona de verdad jejeje. Es que como tuve que certificarme en Solaris me aprendí toda la teoría acerca de UFS, vaya si es pesado todo eso ;).

saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #11 (permalink)  
Antiguo 15/08/2008, 09:29
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 9 meses
Puntos: 29
Respuesta: Linux/Unix: Limite ficheros en directorio???

Yo por ejemplo en este momento en mi FS tengo

Cita:
find / | wc -l
254307
archivos. Lo cual es bastante.

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 04:32.