을로드하는 동안 메모리를 정리하는 데 실패합니다. 디렉터리에 500 개의 홀수 .owl 파일이 있고 for
루프 내의 OWL API loadOntologyFromOntologyDocument()
메서드를 사용하여 하나씩 메모리에로드합니다. 그러나, 메소드가 몇몇 온톨로지를로드 한 후에, 메모리는 고갈되기 시작한다. 사용되지 않는 개체 참조는 가비지 수집기에서 정리되지 않습니다. 나는 문제를 봤는데 -Xmx 힙 크기를 최대 5GB까지 많은 제안을 사용합니다. 그러나 문제는 여전히 지속됩니다. 이 점에 대해 어떤 도움을 주셔서 감사합니다.자바 가비지 컬렉터는 내 응용 프로그램에서 <strong>의 I로드와 <strong>.owl</strong> 파일들을 처리하려고 할 때마다 java.lang.OutOfMemoryError와</strong>을 문제를 직면하고 온톨로지 파일
OWLOntologyManager owlManager = OWLManager.createOWLOntologyManager();
File folder = new File("G:\\OWL and OBO");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
System.out.println("File " + listOfFiles[i].getName());
try{
File sourceFile = new File("G:\\OWL and OBO\\" + listOfFiles[i].getName());
OWLOntology ontology = owlManager.loadOntologyFromOntologyDocument(sourceFile);
} catch(Exception e){
e.printStackTrace();
}
}
}
5GB는 실제로 받아 들일만한 것이 아닙니다. 1024, 2048 등을 사용해보십시오. 내 경험에 의하면, 4K는 작동하기 위해 결코 극복되어서는 안되며, –
5 기가비트 또는 다른 어떤 번호가 작동해도 표준 2^n 번호 일 필요는 없습니다. 그러나 코드 (또는'OWLOntologyManager')는 실제로 그 메모리를 사용할 것입니다. 파일의 크기는 얼마이며 파일의 개수는 몇 개입니까? – Zilvinas