TMPFS 폴더를 압축하는 방법은 무엇입니까?

TMPFS 폴더를 압축하는 방법은 무엇입니까?

tmpfs 폴더를 동적으로 압축하는 방법을 찾고 있습니다. 많은 양의 데이터가 포함된 로컬 캐시 폴더로 사용하고 싶습니다. Redis를 사용하여 LZF 압축을 수행하는 방법이 있다는 것을 알고 있지만 tmpfs를 사용하는 것을 선호합니다.

답변1

하나를 설치할 수 있습니다압축 파일 시스템tmpfs 위에.

여전히 유지된다면 fusecompress목적에 부합하는 것입니다.

불행히도 오래된 것 같으므로 다른 구현이 필요합니다(성능상의 이유로 FUSE 기반 파일 시스템을 사용하지 않는 것이 좋습니다).

Btrfs와 둘 다 작동해야 하는 것 같습니다 ZFS. 그러나 사용에 대한 자세한 조언을 드릴 수는 없습니다.

물론 작동할 수 있는 다른 파일 시스템도 있지만 어떤 솔루션이 올바른 기능을 가지고 있는지 아는 것은 쉬운 일이 아닙니다.e2 압축기예를 들어 파일은 압축되지만 디렉터리는 압축되지 않습니다. 사용 사례에 따라 디렉터리를 압축해야 할 수도 있습니다. 많은 압축 파일 시스템은 읽기 전용(예: squashfs)이고 정적 이미지에서 임베디드 장치 또는 라이브 데스크탑 세션 실행과 같은 애플리케이션을 대상으로 하기 때문에 제외됩니다.

핵심은 성능이다. 충분히 빠른지 여부는 요구 사항과 구현에 따라 다르므로 테스트해야 합니다.

답변2

최근에 나는 사용하고있다zram 발전기zstd커널 빌드를 위한 압축 디렉터리를 만듭니다. 현재는 그렇지만 remount -o rw,noatime,discard,nodev,nosuid /zram/mountpoint이 기능은 다음과 같아야 합니다.곧 포함될 예정처럼 mount-option.

[~/build]$ zramctl
NAME       ALGORITHM DISKSIZE  DATA  COMPR  TOTAL STREAMS MOUNTPOINT
/dev/zram2 zstd          5.9G  1.3G   1.3G   1.3G      16 /var/build/sources
/dev/zram1 zstd           15G  1.2G 289.1M 302.9M      16 /var/build/makepkg
/dev/zram0 zstd            3G  9.1M   8.3M   8.7M      16 [SWAP]

관련 정보