Carregar os binários e libs na RAM

Publicado por Matheus em 11/05/2018

[ Hits: 1.493 ]

 


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

Plymouth no Arch Linux

Comando df retorna disco cheio, mesmo não estando [Resolvido]

Focus stacking em GNU/Linux

Pacotes binários no Gentoo Linux

Interpolação de Vídeos Diretamente no Smartphone

Leitura recomendada

Como Instalar o Gentoo Linux

Root foi deletado

[RESOLVIDO] Erro: "WARNING: Cannot write log" ao criar cache do Squid

Varnishlog - Não inicia com "varnishlog start" no shell [RESOLVIDO]

Mikrotik - bug encontrado nas versões 3.4, 3.5, 3.6 e 3.7

  

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