Carregar os binários e libs na RAM

Publicado por Matheus em 11/05/2018

[ Hits: 1.631 ]

 


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

Eix em terminal branco [Resolvido]

Plymouth no Arch Linux

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

Pacotes binários no Gentoo Linux

Broadcom BCM4113 em Gentoo Linux

Leitura recomendada

Bloqueando Ultrasurf 9.8 com iptables

Revogando certificados digitais (OpenVPN)

Arch Linux: /etc/rc.sysinit mountpoint not found

Instalando Cloudstack no CentOS

Como atualizar o Java (JDK) no Slackware 14.2: superando o erro no sbopkg

  

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