입자 데이터 세트를 위한 시각화 도구인 Partiview 소프트웨어를 실행하려고 합니다. 수백만 개의 입자를 사용하여 대규모 시뮬레이션을 실행했고 시각화하려는 결과 데이터 파일은 4.26GB였습니다. 소프트웨어를 실행하려고 하면 다음 오류가 발생합니다.
./partiview sim_evo_128_snap50.cf
./leigh_data/dm128_evolution_50snap.speck: can't open: Value too large for defined data type
제가 이해한 바에 따르면 32비트 시스템의 기본 최대 크기는 2GB이고 더 큰 파일의 경우 64비트 시스템에 대한 시스템 설정을 변경해야 합니다. 터미널에서 이 작업을 어떻게 수행합니까? 64비트 시스템에서 데이터 파일의 최대 크기는 4GB입니까?
답변1
귀하가 받은 오류 메시지는 다음 EOVERFLOW
에 있는 오류 코드 와 일치합니다.open
시스템 호출32비트 응용 프로그램이 대용량(>= 2GB) 파일을 열려고 하면 다음이 반환됩니다.
EOVERFLOW
경로 이름은 너무 커서 열 수 없는 일반 파일을 참조합니다. 여기서 일반적으로 발생하는 현상은 -D_FILE_OFFSET_BITS=64 없이 32비트 플랫폼에서 컴파일된 응용 프로그램이 (1<<31)-1바이트보다 큰 파일을 열려고 시도한다는 것입니다.
텍스트에서 알 수 있듯이 32비트 응용 프로그램은 필요한 설정(관련 데이터 유형에 대해 더 큰 정수를 사용하고 올바른 버전의 시스템 호출 호출)으로 컴파일된 경우 더 큰 파일에 액세스할 수 있습니다.
실행 중인 응용 프로그램이 대용량 파일을 지원하도록 컴파일되지 않은 것 같습니다. 아니요, 다시 컴파일하거나 대용량 파일을 지원하는 버전을 얻지 않고는 변경할 수 없습니다.