Tengo este trabajo en el hogar donde tengo que transferir un archivo muy grande de una fuente a varias máquinas usando bittorrent un poco de algoritmo. Inicialmente estoy cortando los archivos en pedazos y transfiero trozos a todos los objetivos. Los objetivos tienen la inteligencia para compartir los trozos que tienen con otros objetivos. Funciona bien. Quería transferir un archivo de 4GB, así que tomé cuatro archivos de 1GB. No cometí un error al crear el archivo tar de 4 GB, pero en el otro extremo mientras volvía a ensamblar todos los fragmentos del archivo original, se equivoca al decir que se excedió el límite de tamaño de archivo. ¿Cómo puedo resolver este problema de limitación de 2 GB?¿Cómo crear un archivo de tamaño de más de 2 GB en Linux/Unix?
Respuesta
puedo pensar en dos posibles razones:
- Usted no tiene Large File Support habilitadas en su núcleo de Linux
- Su aplicación no se compila con soporte de archivos grandes (puede que tenga que pasar gcc adicional banderas para que lo utilice versiones de 64 bits de archivo determinado las funciones de e/S. ej
gcc -D_FILE_OFFSET_BITS=64
)
No olvide mencionar al menos el sistema de archivos (controlador). Algunos FS-es tienen límites arbitrarios. Solo Btrfs, ZFS y quizás algunos otros tienen capacidades de 128 bits (resultando, por ejemplo, [16 exabytes (16 × 1018 bytes) - Tamaño máximo de un solo archivo] (http://en.wikipedia.org/wiki/ZFS#Capacity)) – sehe
Nota: '_FILE_OFFSET_BITS' pasa' O_LARGEFILE' al 'open' syscall en el arco correcto, pero ' _FILE_OFFSET_BITS' se prefiere para la portabilidad: https://stackoverflow.com/questions/2888425/is-o-largefile- needed-just-to-write-a-large-file –
Esto depende de filesystem type. Cuando uso ext3, no tengo tales problemas con archivos que son significativamente más grandes.
Si el disco subyacente es FAT, NTFS o CIFS (SMB), también debe asegurarse de utilizar la última versión del controlador apropiado. Hay algunos controladores más antiguos que tienen límites de tamaño de archivo como los que experimenta.
¿Esto podría estar relacionado con un system limitation configuration?
$ ulimit -a
vi /etc/security/limits.conf
vivek hard fsize 1024000
Si no desea eliminar cualquier límite fsize
de /etc/security/limits.conf
.
Si su sistema lo admite, puede obtener sugerencias con: man largefile
.
debe utilizar fseeko y ftello, véase Nota fseeko(3) debe definir #define _FILE_OFFSET_BITS 64
#define _FILE_OFFSET_BITS 64
#include <stdio.h>
- 1. Delphi Pascal: cómo escribir datos en un archivo de más de 2 GB?
- 2. Base de datos de más de 2 GB en MongoDB
- 3. Determinar el tamaño de un archivo de más de 4 GB
- 4. archivos de asignación más grandes de 2 GB con Java
- 5. Límite de 2 GB en el tamaño del archivo cuando se usa fwrite en C?
- 6. Procesando archivos de más de 2 GB en C++ con STL
- 7. Formato de tamaño de archivo como MB, GB, etc.
- 8. ¿Cómo incluyo un archivo de más de 2 directorios?
- 9. ¿Cómo aumentar el límite de memoria para PHP de más de 2 GB?
- 10. ¿Cuál es la manera más rápida de leer un archivo de 10 GB del disco?
- 11. ¿Cómo obtener el tamaño de un archivo que es mayor a 4 Gb?
- 12. ¿Cómo determino el tamaño de un archivo abierto en Python?
- 13. cómo puede JVM utilizar más de 4 GB de memoria
- 14. Tomcat 6.0 Carga de archivos grandes (> 2 GB)
- 15. carga Python 2 GB de archivo de texto en la memoria
- 16. ¿Objetos únicos aún están limitados a 2 GB de tamaño en CLR 4.0?
- 17. ¿Las cadenas de C# (y otras API de .NET) están limitadas a 2 GB de tamaño?
- 18. crear archivo de tamaño particular en python
- 19. ¿Cómo crear un archivo con un tamaño dado en Linux?
- 20. ¿Cómo habilita PAE (extensión de dirección física) un espacio de direcciones de más de 4 GB?
- 21. Carga de archivos de más de 4 GB
- 22. Cómo analizar un archivo de 7 GB con Data.ByteString?
- 23. ¿Cómo leer un archivo txt grande (1 GB) en .NET?
- 24. Leyendo archivos de más de 4 GB usando C++ stl
- 25. ¿Subir archivos de más de 2 Gb a IIS 8/ASP.NET 4.5?
- 26. C# gran tamaño matrices de 2 dim
- 27. Subir archivos de gran tamaño (1 GB) -ASP.net
- 28. ¿Cómo puedo hacer una copia de seguridad de un repositorio SVN de 13 GB? El volcado es 100+ GB
- 29. ¿Cómo obtener el tamaño del archivo correctamente y convertirlo a MB, GB en Cocoa?
- 30. Cómo crear un mapa de 2 vías en java
¿Qué sistema de archivos, versión de kernel y versión/distro está ejecutando? – womble
Reetiquetado para agregar Linux –