vi를 사용하여 매우 큰 파일을 편집하는 방법은 무엇입니까? 예: 20GB 로그 파일. 이 크기를 처리할 수 있는 수정 사항이 있나요?
답변1
32비트 시스템에서 Vim을 사용한다면 이 작업을 수행할 수 있는 방법은 없을 것 같습니다. 그것은 가지고있다파일 크기 하드 제한32비트 정수 크기를 기준으로 합니다.
64비트 시스템에서 편집할 수 있다면 Vim의 파일 크기 제한은 엑사바이트 범위가 됩니다.
Vim도 있습니다임의의 하한, 스왑 파일의 파일 블록을 RAM으로 페이징합니다. 현재 64비트 CentOS 5.x 시스템에서 Vim의 기본값은 약 3GB입니다. 전체 파일을 로드할 만큼 실제 RAM이 충분한 경우 스왑을 방지하기 위해 늘리고 제한할 수 maxmem
있습니다 maxmemtot
. 이렇게 하지 않으면 운영 체제의 일반 스왑 공간을 사용하게 되며 아마도 더 빠르지는 않을 것입니다. 명확하게 말하면 이 한도를 늘릴 필요는 없습니다. Vim이 (있는 경우) 더 많은 실제 메모리를 사용할 수 있게 해줍니다.
vi의 다른 구현을 언급하는 경우 어떤 구현인지 표시하십시오. 파일 크기 제한은 vi 구현이 다른 영역 중 하나입니다.