Carregar os binários e libs na RAM

Publicado por Matheus em 11/05/2018

[ Hits: 1.354 ]

 


Carregar os binários e libs na RAM



A grande vantagem de carregar os binários e libs na RAM é que quando você for acessá-los, eles já estarão carregados! Você precisa de duas coisas:
  • Memória RAM sobrando
  • vmtouch

O segundo é um programinha disponível nos repositórios da maioria das distros, é ele que vai nos auxiliar nessa tarefa. Primeiramente você precisa saber o tamanho das pastas que você quer carregar na RAM, para isso:

du -sch /bin/ /lib* /usr/lib* /usr/bin/

Isso lhe dará um sumário do tamanho total dessas pastas, adapte às suas necessidades.

Botando a Mão na Massa

Para saber a porcentagem do total desses arquivos que já está carregada na RAM, use:

vmtouch /bin/ /lib* /usr/lib* /usr/bin/

Para jogar os arquivos para a RAM, use:

vmtouch -vt /bin/ /lib* /usr/lib* /usr/bin/

Para jogar os arquivos para a RAM e travá-los lá:

vmtouch -vdl /bin/ /lib* /usr/lib* /usr/bin/[

Eles ficarão na RAM até você removê-los ou dar um reboot na máquina, para removê-los:

vmtouch -ve /bin/ /lib* /usr/lib* /usr/bin/

Bônus

Como bônus ficam aí dois scripts de inicialização para openRC.

Copiar os arquivos mas não travá-los:

#!/sbin/openrc-run

description="Service to copy all system libs and binaries to ram"
DIR="/bin/ /lib* /usr/lib* /usr/bin"

start () {
vmtouch -qt $DIR
}

stop () {
vmtouch -qe $DIR
echo "The system will take care of this"
}

reload () {
stop
start
}

Copiar e travar os arquivos na RAM:

#!/sbin/openrc-run

description="Service to copy and demonize all system libs and binaries to ram"
DIR="/bin/ /lib* /usr/lib* /usr/bin"

start () {
vmtouch -qdl $DIR
}

stop () {
vmtouch -qe $DIR
echo "The system will take care of this"
}

reload () {
stop
start
}

Para ambos, dê permissão de execução, mova para /etc/init.d e habilite com o rc-update.

ATENÇÃO: por padrão o openRC não espera que o processo se complete, para isso você deve editar a sessão rc_start_wait= do arquivo /etc/rc.conf.

Outras dicas deste autor

Pacotes binários no Gentoo Linux

Plymouth no Arch Linux

Aceleração (re)compilações no Gentoo

Como descobrir o pacote dono do arquivo no Gentoo

Focus stacking em GNU/Linux

Leitura recomendada

Slackware 12 no Dell 320n

MAMONA - Plataforma Linux para sistemas embarcados

Como Habilitar Virtualização Aninhada (Nested) no KVM

Sincronizando relógios dos micros na rede sem NTP

Xen 4 - Habilitando Porta Serial

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts