메모리 확장은 특수 효과입니까, 첨단 기술입니까? (중간)
이전 문장 에서는 메모리 확장에 대한 지식과 swap 가상 메모리의 특징에 대해 설명했습니다. 이 문장 에서는 ZARM 가상 메모리를 소개합니다. < P > SWAP 가상 메모리에 대한 이해를 바탕으로 고급 SWAP 전략인 Zram 에 대해 계속 알아보겠습니다. 앞서 살펴본 바와 같이 Zram 의 작동 원리를 쉽게 파악할 수 있습니다. < P > 휴대폰의 물리적 메모리 사용량이 너무 높아 시스템 설정 임계값에 도달한 후 메모리 가득 찼을 때 시스템 프로세스 충돌을 방지하기 위해 LMK(Low Memory Killer) 가 백그라운드에서 일부 프로세스를 정리합니다. 사용 가능한 메모리 사용을 회수하기 위해 또는 앞서 언급한 사실: 메모리 데이터에 대한 메모리의 읽기 및 쓰기 및 처리 속도는 물리적 메모리보다 훨씬 낮습니다. 사용자가 이러한 정리된 프로세스를 다시 열려면 시스템이 메모리에 저장된 프로세스 데이터를 메모리로 다시 로드해야 합니다. 이 기간 동안 "스토리지-메모리" 프로세스는 의심할 여지 없이 속도 병목 현상이 되어 전체 로드 시간이 느려집니다. 따라서
Zram 은 물리적 메모리에 고정된 크기의 영역을 나눕니다 (따라서 Zram 영역을 너무 크게 설정하거나 물리적 메모리의 크기를 초과하거나 의미가 없음). SWAP 스왑 공간으로 사용합니다.
물리적 메모리가 부족한 경우 비활성 백그라운드 프로세스를 직접 정리하지 않고 압축 과정에서 추가 CPU 리소스를 소비하는 알고리즘 압축을 통해 Zram 에 이러한 메모리 데이터 부분을 저장하므로 사용 가능한 물리적 메모리 Zram 의 압축률을 높이는 것과 동등한 양의 물리적 메모리가 많을수록 물리적 메모리는 증가하지만 성능 오버헤드도 커집니다.
현재 주요 Zram 알고리즘으로는 lz4, lzo, deflate 등이 있습니다 (지원 여부는 커널에 따라 다름). 예를 들어 시스템이 원래 1GB Ram 을 차지한 백그라운드 프로세스를 Zram 으로 옮길 때 압축률이 4x 인 경우 Zram 에 예치된 후 이 백그라운드 부분은 실제로 .25GB Ram 을 차지합니다 이 데이터 부분은 압축 해제 (여전히 CPU 리소스 소비 필요) 되고 사용자가 사용할 수 있도록 메모리에 신속하게 저장됩니다. 이 "메모리-메모리" 프로세스는 "메모리-메모리" 보다 훨씬 빠르므로 Zram 은 기존 SWAP 보다 더 광범위하고 효과적입니다. < P > 또한 일부 하이 패스 디바이스는 시스템 수준에서 백그라운드 프로세스의 최대 수를 제한하므로 Zram 압축을 합리적으로 사용하여 이러한 프로세스를 보관할 수 있습니다. 또한 대용량 메모리 장치에서 캐시 프로세스가 불필요하게 죽임을 당하는 경우를 완화하고 물리적 메모리의 사용 가치를 높이는 것도 장점 중 하나입니다.
단점은 Zram 데이터 호출이 추가 CPU 리소스를 소비하여 어느 정도의 전력 오버헤드를 유발한다는 것입니다. Zram 공간 설정이 클수록 Zram 이 CPU 자원을 사용해야 할 확률도 커지고 소비 성능도 빈번해지고 불합리한 Zram 크기 설정은 메모리 사용 긴장을 가중시킬 수 있습니다. Zram 공간을 함부로 설정하지 마십시오 < P > 다음 기간에는 메모리 확장의' 블랙스크린' 을 소개하겠습니다. 관심 있는 친구들은 찬사 댓글 공유에 관심을 갖고 업데이트 상태를 더 빨리 알 수 있습니다.