Como posso acelerar a hora de início da aplicação? como vlc ou firefox

3

Por que quando eu clico para abrir o aplicativo, firefox ou vlc, por exemplo, ele inicia cerca de 5 ou 10 segundos depois? Posso acelerar os tempos de início? é normal esperar 10 segundos para abrir um navegador ou qualquer outro aplicativo como o software center? Do que isso depende? Eu tenho celeron dual core cpu 1007u e gráficos de ponte de hera .. eu acho que é decente para uso normal, como surfar ou assistir a um filme. Desde já, obrigado.

    
por John Doe 21.05.2015 / 11:11

2 respostas

4

Esta Resposta é, antes, uma Wiki que deve ser lida e entendida antes de usar Preload ou Prelink.

Precisamos primeiro entender como os aplicativos são iniciados no Linux, não vou comentar sobre o Windows. O Linux é seguro por design. Então, o que realmente queremos dizer com isso?

Processo de lançamento de aplicativo

Os programas Linux normalmente consistem em um arquivo executável binário que se refere a várias bibliotecas compartilhadas. Essas bibliotecas são carregadas na memória uma vez e compartilhadas por vários executáveis. Para que isso aconteça, o vinculador dinâmico (ou seja, ld.so) precisa alterar o binário na memória de forma que qualquer endereço de objetos de biblioteca aponte para o local correto na memória. Para aplicativos com muitas bibliotecas compartilhadas - programas GUI, por exemplo - esse processo pode levar algum tempo. Para a maioria dos pequenos programas, esta ligação dinâmica é muito rápida. Mas quando programas maiores são lançados, pode levar tempo. Quero dizer um tempo considerável.

O Linux usa o ASLR para randomizar os endereços na memória. Uma das ideias por trás da randomização de layout do espaço de endereçamento (ASLR) é randomizar esses locais cada vez que um programa é executado - ou carregado na biblioteca - para que programas mal-intencionados não possam prever de maneira fácil e reproduzível endereços

Vamos entender com o Context o que é o preloading e o que é prelinknig e como eles ajudam a reduzir o tempo de inicialização dos aplicativos.

Primeiro, vamos dar uma olhada no Pré-carregamento.

Pré-carregamento é a ação de colocar e manter arquivos de destino na RAM. O benefício é que os aplicativos pré-carregados são iniciados mais rapidamente porque a leitura da RAM é sempre mais rápida do que no disco rígido. No entanto, parte da sua RAM será dedicada a essa tarefa, mas não mais do que se você mantivesse o aplicativo aberto. Portanto, o pré-carregamento é melhor usado com aplicativos grandes e usados com frequência, como o Firefox e o LibreOffice.

Pré-carga é um demônio adaptativo e pré-lido. Ele observa os aplicativos Inicia por um período de tempo. Compreende o comportamento de inicialização do aplicativo. Ele coleta as informações e, com base nas informações, começa a pré-carregar as bibliotecas exigidas pelos programas na RAM do dispositivo. Assim, ao longo de um período de tempo, os tempos de lançamento do Aplicativo reduzem consideravelmente e os aplicativos são iniciados mais rapidamente.

Como o Pré-carregamento requer memória para armazenar o código do programa, o sistema deve, em qualquer caso, ter mais de 1GB de memória.

O aumento na velocidade pode ser de até 55%. No entanto, isso não é detectado logo após a instalação. A pré-carga requer alguns dias ou uma semana ou duas até que uma estatística confiável seja criada. Essa estatística usa Preload para carregar o código dos programas correspondentes na memória.

Agora vamos dar uma olhada no Prelinking

Na maioria dos sistemas, as bibliotecas não são alteradas com muita frequência e, quando um programa é executado, as operações realizadas para vincular o programa são as mesmas todas as vezes. O Prelink aproveita isso realizando a vinculação e armazenando-o no executável, com efeito, pré-preparando-o.

Idealmente, ele anula a Randomização do Addreses, o que significa que é fácil predicar onde as bibliotecas são armazenadas, portanto, resulta em acesso rápido às bibliotecas. Isso, por sua vez, reduz consideravelmente o tempo de lançamento.

A ideia por trás da pré-vinculação é bastante simples: reduzir a quantidade de tempo que o vinculador dinâmico precisa gastar para fazer essas relocações de endereço, fazendo isso com antecedência e armazenando os resultados. O programa prelink processa binários ELF e bibliotecas compartilhadas da mesma maneira que ld.so faria, e então adiciona seções ELF especiais aos arquivos que descrevem as realocações. Quando o ld.so carrega um binário ou biblioteca pré-vinculada, ele verifica essas seções e, se as bibliotecas forem carregadas no local esperado e a biblioteca não tiver sido alterada, ela poderá executar seu trabalho muito mais rapidamente.

O que significa que em um sistema que não muda muito. As bibliotecas permanecem as mesmas por um longo tempo, algo como um Ubuntu LTS / RHEL / CentOS / Debian basicamente distros de lançamento fixo, o Prelink rodará melhor e fornecerá ótimos resultados.

Existe apenas um Caviat.

O pré-link precisa ser agendado, ele precisa ser executado depois que as bibliotecas / programas tiverem sido atualizados desde que as bibliotecas estão mudando. Pode-se conseguir isso usando um simples trabalho Cron ou pode executá-lo manualmente de vez em quando.

Portanto, poderíamos combinar tecnicamente Preload e Prelink. No entanto prelink ainda é como um Hack, mas sua milhagem pode variar. Eu daria um tiro de qualquer maneira. Se eu estivesse em algo como Debian ou CentOS, eu usaria o Preload e o Prelink Both.

Referências para mais informações.

link

link

link

link

link

    
por Rajat Pandita 20.02.2016 / 17:17
0

Um conselho simples é desabilitar complementos menos importantes. Funcionou para mim.

    
por Abhishek Prakash 20.02.2016 / 17:28

Tags