유틸리티 버퍼를 얼마나 줄일 수 있나요?

유틸리티 버퍼를 얼마나 줄일 수 있나요?

궁금해.

less100GB 파일을 문제 없이 읽는 데 사용할 수 있습니다 . 하지만 cat100GB 파일을 에 넣으면 파일과 그 이하 사이에 파이프(64K였나요?)가 있기 때문에 전체 파일을 버퍼링해야 한다고 less생각합니다 .less

그럼 의 버퍼링 정책에 대해 아시는 분 계시나요? less메모리가 다 될 때까지 처음부터 버퍼링을 시작하는 건가요?

답변1

맨페이지에서는 less다음 주제를 다룹니다.

   -bn or --buffers=n
          Specifies  the  amount of buffer space less will use for each file,
          in units of kilobytes (1024 bytes).  By default 64K of buffer space
          is  used  for  each  file  (unless  the  file is a pipe; see the -B
          option).  The -b option specifies instead that n kilobytes of  buf‐
          fer  space  should be used for each file.  If n is -1, buffer space
          is unlimited; that is, the entire file can be read into memory.

   -B or --auto-buffers
          By default, when data is read from a pipe,  buffers  are  allocated
          automatically  as  needed.   If a large amount of data is read from
          the pipe, this can cause a large amount of memory to be  allocated.
          The  -B  option  disables  this automatic allocation of buffers for
          pipes, so that only 64K (or the amount of space specified by the -b
          option)  is  used  for  the pipe.  Warning: use of -B can result in
          erroneous display, since only the most recently viewed part of  the
          piped data is kept in memory; any earlier data is lost.

맨페이지에서는 -B 및 -b 옵션으로 제한하지 않으면 버퍼가 결국 전체 입력만큼 커질 것임을 암시합니다.

관련 정보