compcache.Linux 용 메모리 스왑 장치 압축 | |
지금 다운로드 |
compcache. 순위 및 요약
광고
compcache. 태그
compcache. 설명
리눅스 용 압축 메모리 스왑 장치 Compcache 스왑 디스크 역할 RAM 블록 기반 디바이스 (라는 ramzswap)를 생성하는 수단이다. 이 디스크로 스왑 페이지는 압축 및 메모리 itself.Compressing 페이지에 저장 및 RAM에서 그들을 유지하는 사실상의 용량이 증가된다. 메모리가 왜 압축 귀찮게 너무 너무 싸구려입니다 - 이것은 더 응용 프로그램 memory.The 일반적인 인수 I get 및의 주어진 양에 맞게 할 수 있습니다? 그래서 여기에 사용 사례의 일부를 나열합니다. 나머지는 당신의 상상력에 따라 달라집니다. * 넷북 : 시장은 지금이 "lighweight 노트북"으로 범람지고 있습니다. 이러한 메모리가 제한되어 있지만, 압축 된 메모리를 구동하기위한 CPU의 정도가 (예를 들어 1.2의 Cloudbook GHz 프로세서 기능!). * 가상화 : 하이퍼 바이저 수준에서 compcache, 우리는 투명 게스트 메모리의 일부를 압축 할 수 있습니다 -이 게스트 OS (리눅스, 윈도우 등) 모든 유형의 사실이다. 이는 전체 호스트 메모리의 양을 기준으로 할 VM을 더 많은 수를 실행 허용해야합니다. * 임베디드 장치 : 메모리 부족 및 메모리 증가 장치 비용을 추가. 또한, 우리가 스왑 device.Compiling로를 사용하여 피할 수 있다면 마모 레벨링 문제에서, 그것의 유용한 있도록 플래시 저장 겪고있다 : 메이크업은 '- 이것은 당신의 kernelmake의 문서에 대한 모든 모듈을 컴파일 -이 rzscontrol 매뉴얼 페이지를 컴파일 : 하위 프로젝트를 / rzscontrol / 사람 / rzscontrol.1 - (강력 추천) 선택 사항 : - 패치를 적용은 compcache / 패치 / 디렉토리에 그냥 평소대로 커널을 컴파일합니다. 현재 패치는 2.6.33 반대하지만 너무 약간 나이가 커널에 적용해야합니다. 이 전송 콜백 커널은 즉시 스왑 슬롯 무료수록 ramzswap 할 수 있도록 기능을 '자유 통지 스왑'을 가능하게 할 것이다. 그래서, 우리는 즉시 사용 가능한 메모리 (압축) 메모리에있는 오래된 데이터를 제거,이 페이지에 할당 할 수 있습니다. - 주석 해제 '#DEFINE CONFIG_SWAP_FREE_NOTIFY'에서 compcache / compat.h이 패치 된 커널에 대해 compcache를 컴파일하기 전에. 그렇지 않으면이 스왑 통보 콜백 used.Following되지 않습니다 바이너리가 만들어집니다 - ramzswap.ko (커널 드라이버) - 하위 프로젝트 / rzscontrol / rzscontrol (사용자 공간 도구)를 사용하여 : 참조 다음은 단계의 전형적인 순서를 ramzswap.1을 사용하는 ) 모듈을로드 # 하중 의존성 모듈 modprobe를 lzo_compress으로 modprobe lzo_decompress #의 예제 1 : 부하 ramzswap 모듈 insmod 명령 ramzswap.ko num_devices 4This = 4 개 디바이스 초기화되지 않은 왼쪽된다 (/ 디바이스 / ramzswap {0,1,2,3}에) 생성한다. # 예 2 :로드 ramzswap 모듈 ramzswap.ko num_devices = 4 = disksize_kb 20480This insmod 명령의 첫 번째 장치는 초기화의 20메가바이트은 DiskSize와 제 장치 (/ 디바이스 / ramzswap0)를 초기화한다. 다른 3 개 장치 (는 / dev / ramzswap {1,2,3}) 남아 있습니다 uninitialized.2) 초기화 : 구성에 사용 rzscontrol 유틸리티 및 개별 ramzswap 장치를 초기화합니다. 예 : rzscontrol는 / dev / ramzswap0 --init #은 disksize_kb의 기본 값을 사용 * 자세한 내용과 예제 * 3) 활성화에 대한 참조 rzscontrol 맨 : swapon 명령은 / dev / ramzswap2 # 또는 기타 초기화 ramzswap의 device4) 통계 : rzscontrol는 / dev / ramzswap2 --stats5) 비활성화 : 후 swapoff는 / dev / ramzswap26) 재설정 : rzscontrol는 / dev / ramzswap2 --reset7) 언로드 모듈 : rmmod를 ramzswap rmmod를 lzo_compress rmmod를 lzo_decompressCommon 문제 : - 당신이 만드는, 컴파일러 오류를 많이받을 경우 반드시이 패키지를 커널 소스가 설치되어 있어야합니다. 예를 들어, 페도라는 '커널 (STABLE)'패키지하십시오. 이 릴리스에서는 새로운 기능 : · 동기화 업 아래에 변경 사항이 포함되어 주류 버전. · 많은 및 정리의 많은. · ramzswap 모듈 매개 변수에 대한 작은 케이스를 사용 NUM_DEVICES -> num_devices. · 세 가지 모듈 매개 변수를 추가 backing_swap, memlimit_kb 및 disksize_kb는 rzscontrol 유틸리티 (이슈 # 50 참조)를 사용하지 않고 첫 번째 장치 (는 / dev / ramzswap0)를 초기화 할 수 있도록. · ramzswap 드라이버와 xvmalloc의 사용 '구조체 페이지'대신 32 비트에 PFN. 이것은 이러한 64 비트 안전을 확인하는 것입니다. · xvmalloc 더 이상 별도의 모듈 및 기호를 내 보내지 않습니다. 그 ramzswap 블록 드라이버와 직접 컴파일. · 쓸모 {로드, 언로드} _modules.sh 스크립트를 제거. · 확인은 DiskSize를 만들기 위해 수정은 스왑 파일을 백업에 사용할 수있는 페이지를 일치합니다. · init_device에서 (희귀) 오류 조건의 수정 메모리 누수 (). · create_device에서 (희귀) 실패 수정 메모리 누수 (). · 제거 스왑 폐기 후크. 스왑 신고자는 이러한 중복을합니다. ·의 Unify init_device () 실패 경로와 reset_device (). · 나쁜 페이지를 백업 스왑을 허용하지 마십시오. · 수정 제로 페이지 회계. · 가치의 손상을 방지하기 위해 64 비트 통계에 대한 사용 잠금. · 재 작성 스왑 패치를 알려줍니다. · / O가 I이 보류중인 경우 리셋이라고 수정 충돌.
compcache. 관련 소프트웨어