Carregar os binários e libs na RAM
Dica publicada em Linux / Avançado
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:
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.
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/
Copiar os arquivos mas não travá-los:
Copiar e travar os arquivos na RAM:
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.
- 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
}
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
}
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.
tem algum parâmetro em q eu posso copiar tudo do pendrive de boot para memoria ram?
obs: tenho Ram de sobra :)
desde já agradeço!!