segunda-feira, 21 de agosto de 2023

Hardcore Devel #75 - Sistemas Sustentáveis #5 - Inicialização

 Vamos começar a voltar com algum estilo, vamos voltar a falar sobre sistemas, e como sempre com foco na sustentabilidade deles.


E depois de tanto tempo, vamos tentar manter a proposta, apesar de que agora os tempos são outros. Algumas coisas se mantém. Aquilo que eu falei no passado ainda está vivo. O Windows ainda permite você gerenciar memória virtual, apesar dos HDs hoje em dia serem uma coisa diferente. Quando eu falei no passado, o SSD já estava em ascenção, e hoje em dia quase tudo que você encontra já é um SSD. Sistemas com SSD tem muitas particularidades e uma vida útil menor do que HDs padrão, a questão é que, por conta do obsolescência programada, a gente dificilmente vai notar isso. Talvez se você acompanhar essa série aqui...

Então hoje vamos falar sobre uma coisa simples que é a inicialização da máquina, é simples mas vai tirar algumas dores de cabeça pq as vezes você só quer usar a máquina. Você não quer iniciar a Steam, o Discord a Epic, e o Cavalo de asa ao mesmo tempo. E existem formas realmente simples de se fazer isso, se vc ainda usa um WindowsXP provavelmente lembra do msconfig;


Pasme você, ele funciona até hoje porque tem coisa que você só configura ali. Você consegue definir coisas a respeito da inicialização de serviços e obter outras informações do computador.


E, aí você vai ver que uma parte das inicializações estão aqui, mas outras coisas jogaram pro gerenciador de tarefas:


É muito útil pra máquina rodar apenas aquilo que ela realmente precisa. Isso economiza não só o tempo de processamento das coisas, devido a redução da quantidade de trocas de contexto que o SO tem que fazer, bem como te dá um cascalho pra memória virtual. Menos processo corrente significa menos coisa na memória virtual o que permite ela a trabalhar melhor. Também reduz a quantidade de coisas na cache permitindo a cache trabalhar melhor. É só vantagens! O problema é que estamos falando de Windows, e aí o meio de campo é sempre mais complicado.

O Windows, por não ser minimalista, já vem com um monte de opções pré-configuradas nele. Vários serviços que são inicializados pelo S.O. antes mesmo das pessoas conseguirem usar. Então, se você estiver mexendo na parte de serviços, vá com calma pq eu não sei o que pode ser parado ou não pode. Na verdade sempre depende muito daquilo que você tá usando, só que o que uma pessoa padrão usa hoje em dia, é uma torre, um teclado, um monitor, um mouse, e algum bagulho pra rede, wireless ou cabeada.

Então tem coisas que são fáceis de ver que você pode desabilitar, mas tem outras que não são tão óbvias assim. Então cuidado pra não sair desabilitando tudo de uma vez pq senão o windows nem abre.

A parte de inicializar do gerenciador de tarefas (antes ficava no msconfig mesmo), é mais tranquila, ali se vc quiser vc pode desabilitar tudo mesmo pq não tem componente de infraestrutura ali. Então habilite apenas aquilo que é necessário. Tente desabilitar o máximo de componentes o possível para reduzir carga no seu computador e permitir que ele viva por mais tempo. Tá em dúvida? Use a inicialização mínima, e vá adicionando componentes aos poucos até atingir a configuração desejada. Otimizar uma máquina para sua situação pode levar um tempo, mas manter a máquina por mais tempo, bem como usá-la com melhor desempenho realmente vale a pena.

Mas naturalmente você quer algum lugar para começar, então comece desabilitando todos os serviços e componentes que não são da Microsoft. São poucos serviços não Microsoft que são realmente necessários pra fazer o computador funcionar como serviços da fabricante da placa de rede ou de algum processador mais chique que você tenha.

"Aí mas você tá falando de Windows! E os Unix?"

Bom, vamo começar pelo fato de que se você usa um Unix você sabe muito bem futucar as coisas pra otimizar o seu sistema. Só que quando a gente fala de Linux/Unix a gente tem que falar de System-V e SystemD, que são duas formas diferentes de se lidar com inicialização de programas. A primeira utiliza scripts shell armazenados no /etc/init.d; enquanto o segundo utiliza arquivos de serviço. Gerlamente os dois armazenam os arquivos dentro do /etc mas, pra mim, o system-V é mais intuitivo de usar. Se você quiser ler mais sobre inicialização em Unix eu recomendo você ler aqui: https://itsfoss.com/systemd-init/ ; o objetivo aqui é falar sobre otimização da inicialização da máquina, e isso pode ser feito utilizando tanto o SysV quanto o SystemD.

E bom, em Unix você pode desabilitar uma gama de coisas muito maiores, a ponto de você realmente f*** o sistema pra conseguir fazer qualquer coisa. Então se você vai com calma no Windows, vai com duas vezes mais calma em sistemas Unix, fechou?

Abraço e até a próxima!

Nenhum comentário:

Postar um comentário