Compcache

Dispositivo de Troca de Memória Comprimido para Linux
Baixe Agora

Compcache Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • GPL
  • Preço:
  • FREE
  • Nome do editor:
  • Nitin Gupta
  • Site do editor:
  • http://code.google.com/u/nitingupta910/

Compcache Tag


Compcache Descrição

Dispositivo de troca de memória compactado para o Linux Compcache é uma ferramenta que cria dispositivo de bloco baseado em RAM (nomeado ramzswap), que atua como disco de troca. As páginas trocadas a este disco são compactadas e armazenadas na própria memória.Pressionar as páginas e mantê-las na RAM virtualmente aumenta sua capacidade. Isso permite que mais aplicativos se encaixem em uma quantidade de memória. O argumento usual que recebo é - a memória é tão barata, então por que se preocupar com a compressão? Então eu listei aqui alguns dos casos de uso. O descanso depende da sua imaginação. * Netbooks: mercado agora está sendo inundado com esses "laptops de lighweight". Estas são restritas de memória, mas têm CPU o suficiente para dirigir em memória compactada (por exemplo, Cloudbook apresenta processador de 1.2 Ghz!). * Virtualização: Com o Compcache no nível do hipervisor, podemos comprimir qualquer parte da memória convidada de forma transparente - isso é verdade para qualquer tipo de sistema operacional convidado (Linux, Windows etc.). Isso deve permitir a execução de mais número de VMs para determinada quantidade de memória de host total. * Dispositivos embarcados: a memória é escassa e adicionando mais memória aumenta o custo do dispositivo. Além disso, o armazenamento flash sofre de problemas de nivelamento de desgaste, então é útil se pudermos evitar usá-los como Swap Device.comPiling: Fazer '- isso vai compilar todos os módulos contra o seu kernelmake doc - isso vai compilar RzScontrol manual página: Sub-Projetos / rzscontrol / man / rzscontrol.1 - opcional (altamente recomendado): - Aplique o patch encontrado no Compcache / Patches / Diretório e apenas compile o kernel como de costume. Atualmente, o patch é contra 2.6.33, mas deve aplicar-se a kernels ligeiramente mais velhos também. Isso permitirá que o recurso 'Swap Free Notify', que permite que o kernel envie o retorno de chamada para o Ramzswap assim que um slot de troca se tornar livre. Portanto, podemos imediatamente libertar a memória alocada para esta página, eliminando quaisquer dados obsoletos na memória (compactada). - Descomodamento '#define config_swap_free_notify' no compcache / compat.h antes de compilar o compcache contra este kernel remendado. Caso contrário, este swap notificará o retorno de chamada não será usado. Os binários são criados: - Ramzswap.ko (Kernel Driver) - Sub-Projetos / RzsControl / RzScontrol (UserPace Tool) usando: A seguir mostra uma sequência típica de etapas para usar o RAMZSWAP.1 ) Módulos de carga: # Módulos de dependência de carga MODPROBE LZO_COPRESS MODPROBE LZO_DECOMPRESSS # exemplo1: Load Ramzswap Módulo Insmod Ramzswap.ko num_Devices = 4Este cria 4 dispositivos (/ dev / ramzswap {0,1,2,3}) que são deixados não inicializados. # Exemplo2: Carregue o módulo Ramzswap e inicialize o primeiro dispositivo Insmod Ramzswap.ko num_Devices = 4 DISKSIZE_KB = 20480This inicializa o primeiro dispositivo (/ dev / ramzswap0) com desbloqueio de 20MB. Outros dispositivos 3 (/ dev / ramzswap {1,2,3}) são deixados não inicializados.2) Initialize: Use o utilitário RZSControl para configurar e inicializar os dispositivos RAMSWAP individuais. Exemplo: rzscontrol / dev / ramzswap0 --init # usa o valor padrão de DISKSIZE_KB * Consulte o manpage de rzscontrol para mais detalhes e exemplos * 3) Ativar: swapon / dev / ramzswap2 # ou qualquer outro regime inicializado RAMZSWAP Device4) Estatísticas: rzscontrol / dev / ramzswap2 --Sstats5) Desativar: Swapoff / Dev / RamzSwap26) Redefinir: rzscontrol / dev / ramzswap2 --reset7) Descarregar módulos: rmmod ramzswap rmmod lzo_compress rmmod lzo_decomprpresscommon problemas: - Se você receber muitos erros do compilador, verifique se você tem o pacote para Fonte do kernel instalada. Por e., No Fedora seu pacote 'Kernel-Devel'. O que há de novo nesta versão: · Sincronize com a versão principal que inclui alterações abaixo. · Muitas e muitas limpezas. · Use pequena capa para o parâmetro do módulo ramzswap: num_Devices -> num_Devices. · Adicionar três parâmetros do módulo: Backing_swap, Memlimit_KB e DISKSIZE_KB para permitir inicializar o primeiro dispositivo (/ dev / ramzswap0) sem usar o utilitário RZSControl (veja o problema # 50). · Use 'struct page' em vez de PFNs de 32 bits no driver Ramzswap e XVMalloc. Isso é para tornar esses 64 bits seguros. · Xvmalloc não é mais um módulo separado e não exporta nenhum símbolos. É compilado diretamente com o driver de bloqueio de Ramzswap. · Removido a {Carga, descarregue} _modules.sh scripts. · Corrigir para garantir que o DISKSIZE corresponde às páginas utilizáveis no backing swap. · Corrigir vazamento de memória na condição de erro (rara) em init_device (). · Corrigir vazamento de memória na falha (rara) em Create_Device (). · Remova os ganchos de descarte de swap. Os notificadores de swap tornam estes redundantes. · Unificar o caminho de falha do init_device () e reset_device (). · Não aceite suporte de apoio com páginas ruins. · Corrigir a contabilidade de página zero. · Use o bloqueio para estatísticas de 64 bits para evitar a corrupção do valor. · Reescreva o patch de notificação de swap. · Corrigir falha quando a reinicialização é chamada quando houver i / OS pendente.


Compcache Software Relacionado