A muitos anos a internet está cheia de informações sobre o uso excessivo de
memória RAM por parte dos navegadores, mas quase nada sobre o excesso de gravação de dados em disco.
Não me refiro à quantidade de dados armazenados, mas à frequência de gravações, nos meus testes não foi difícil com algumas abas abertas ter situações com 2 GB de dados gravados por minuto, utilizando o
nosync-browser, a redução ficou entre 80% e 90%, isso mesmo, de 2 GB foi para algo em torno de 200 MB a 400 MB.
Para monitorar as gravações utilizei o comando:
sudo iotop -Pak
Eu já sabia que o
eatmydata reduz muito a gravação em disco dos navegadores, tanto no Firefox quanto no Chromium, porém, outros navegadores não abrem utilizando o eatmydata, efetuei alguns testes com o strace e percebi conflito com o FUTEX, testei também com o nosync e o erro permanecia, porém, o código do nosync é mais simples e consegui adaptá-lo para funcionar com outros navegadores, o que nomeei como nosync-browser.
Isso reduz o número de sincronizações dos dados com o armazenamento, não tem nenhuma relação entre o sistema de sincronização do navegador com sistemas nas nuvens. Na prática, não percebemos nenhuma alteração no uso do navegador, exceto o desempenho, principalmente ao ter muitas abas abertas. Essa redução de sincronizações pode fazer perder alguns segundos do histórico do navegador em caso de falta de energia, o tipo de "problema", que me parece em quase todos os casos, irrelevante.
Para ver mais sobre o nosync-browser, acesse:
https://github.com/biglinux/nosync-browser
Para instalar em distribuições com suporte a pacote ".deb":
Para instalar em outras distribuições, baixe o arquivo:
Então descompacte e execute como root o "install.sh".
O uso é bastante simples, basta chamar o navegador com o nosync-browser, por exemplo:
nosync-browser brave-browser
ou:
nosync-browser google-chrome
Provavelmente alguns jogos tenham melhor desempenho utilizando o nosync-browser, mas não cheguei a testar.