Existe algum jeito de trazer a "velocidade do MacOS" para o Kernel Linux?

Recentemente utilizei um Macbook e reparei na velocidade em que os aplicativos abrem. Pesquisando, vi que o Diolinux fez um vídeo a respeito do gerenciamento de memória do MacOS. Gostaria de saber se existem algum Kernel modificado ou se da pra fazer algo que deixe parecido, já que tenho uma boa quantidade de memória ram e gostaria que ela fosse utilizada.

1 curtida

Acho que não, talvez não no sentido que você queira.

O MacOS é rápido, não só por ser o MacOS em si, mas todo o ecossistema da Apple. A construção do equipamento inteira é pensada para casar perfeitamente com o sistema deles, é a mesma coisa do Iphone, porquê Iphone não trava (no geral) e dificilmente tem perda de desempenho durante o uso ? porque o telefone é construído inteiramente para rodar com o IOS.

Linux, Android, Windows. Precisam funcionar numa gama muito maior de hardware e com muitas variáveis que são incontroláveis do ponto de vista dos mantenedores. Talvez tenha algum tipo de modificação a nível de Kernel que chegue perto, mas acho difícil algo nesse nível de fluidez.

2 curtidas

Existem os Kerneis de alta perfomances, como o Zen e o Xanmod. Utilizo aqui no Pop!_OS 22.04 e notei uma certa vantagem na velocidade em relação ao generic. Eu não sei como seria a velocidade de um Mac, mas como o @Rodrigo_Chile diz “Sistemas diferentes, formas diferentes”

1 curtida

Entendo a questão da Apple otimizar seu sistema para seus aparelhos. Meu ponto é: assim como no macbook, gostaria que houvesse um melhor aproveitamento da minha memória no Linux.

1 curtida

Primeiro, tem que ver qual a especificação do Macbook que você estava usando. Macbooks são notebooks de alta qualidade (e, principalmente, alto preço), então tem algumas coisas acerca do seu desempenho que são fruto tão somente da qualidade e performance dos componentes utilizados.

Outra coisa que já foi citada é que é um ecossistema, um mundo fechado de muito poucas probabilidades de ajustes para performar bem.

Em termos de uso normal, não vejo por que se dar ao trabalho de tentar uma solução diferenciada por alguns décimos de segundo na abertura de um aplicativo, que não afetam a produtividade, de fato.
Para situações críticas, o Linux tem uma alternativa (e possivelmente tem outras), que é o drive virtual:

Basicamente você cria uma unidade persistente em memória RAM. O que sinceramente não sei, porque nunca estudei mais a fundo, é como ela se comporta em caso de interrupção de energia, como ela consegue de fato persistir. Mas é um caminho que poderia atender à sua demanda.

1 curtida

Uma boa forma de melhor aproveitar a RAM e diminuir lags é mexer na swappiness e cache pressure. A forma de como fazer depende da distro, se ela usa systemd ou outro init, mas o básico é isso aqui:

2 curtidas

Por falar em produtividade, uma coisa que me irrita profundamente no Mac OS é a organização das janelas. Uma vez cheguei a questionar num fórum se era de fato tão ruim ou eu que tava dando uma mancada gigantesca de noob. Para minha surpresa, é aquilo mesmo.

1 curtida

Entendo. Como o pessoal falou, existem alguns métodos que podem chegar a isso, mas né, depende muito da força de vontade e também da disponibilidade de tempo para conseguir, se tiver paciência pra estudar e aplicar, vá em frente hehe

Vantagens e desvantagens de um sistema completamente fechado kkkkk

Eu acho horrível

2 curtidas

Eu me perguntei pra que buscar algo parecido naquela “aberração” mas nem sei o pq(irrelevante)
Mas aquela Otimização e praticamente o que o @Physis_19 disse, trazer modificações do tipo iria deixar ate pior, trocar o gerenciamento de RAM por uma ilusão e pedir problemas. Principalmente quando se usa alguma anomalia em forma de sistema(e opinião pessoal sob distros não SystemD, não precisa levar pro lado pessoal)
Muita das vezes o “Padrão” acaba sendo mais solido e perfomatico, e isso se torna fragil no momento que se quer “economizar”(ou bem dizer mexer no que esta Funcionando)

Olá!

A questão de velocidade de arranque de apps tem muit mais haver com o throughput de leitura do “hd”. O mac se for os novos utiliza nvme de alta transferencia. Então não tem como comparar com um hd mecânico ou um hd ssd convencional. No míminio você tem que utilizar um mesmo nvme pci-e 4 pra ter mesma taxa de transferencia de abertura.
Agora, ai sim depois de aberto e carregado é que a RAM faz mais e total diferença. Daí mesma coisa… para falar de agilidade e gerenciamento de RAM é preciso ver também quantidade e velocidades.
É preciso fazer bons testes para dizer com certeza se um é melhor que outro e em que e quando, entende?
Por exemplo, houve vários testes de Linux Asahi rodando no próprio mac M1 que saiu bem melhor que o próprio macOS e olha que o linux la esta em alpha.
Enfim, é preciso colocar laranjas com laranjas, se comparar maçã com manga vai dar ruim, rs.
Em sistema linux é possível você otimizar item a item do kernel, inclusive compilar ele específico para um hardware, mas o trabalho, testes e tempo nem vale a pena por alguns miseros segundos como ja disseram.
Os mac são excelentes. Homologados e certificados.
Montar pcs ou laptops certificados e homologados seja com Windows ou com Sistemas Linux a performance é excelente também.

2 curtidas

Antes de mais nada, muita coisa em sistemas Mac são na verdade mais rápidas do ponto de vista de interação humana, não necessariamente o sistema é mais rápido. É o tipo de engano que pessoas fazem com kernel RT vs kernel normal, o kernel realtime não é mais rápido, é mais previsível, e a analogia vale aqui também. É meio que uma filosofia “se você sente que parece que é mais rápido, é mais rápido”.

Tirando isso, existem pontos que tornam o Mac mais rápido realmente em certas coisas, mas não, não existe um jeito para você, consumidor, replicar tudo isso, pois não é meramente uma questão de Kernel. É um mix de coisas difíceis de replicar porque envolvem muitas coisas trabalhando em sinergia, mais algumas coisas exclusivas do notebooks e desktops deles.

  1. Hardware Inteligentemente Equilibrado
    Os aparelhos da Apple tem especificações acima da média em coisas que importam mas a indústria em vários momentos ignora, uma delas é a velocidade do SSD, a Apple sempre usou memórias muito rápidas, o modelo atual de 512 GB tem performance de 2.8 GB de leitura, é surpreendente para um SSD desse tamanho. Além disso. hoje em dia, não conheço nenhum desktop ou notebook com uma memória RAM unificada como as do M1 que tem bandwidth muito superiores ao DDR5, ou ainda um hardware totalmente dedicado a encodação de vídeos extremamente pesados tal qual no M1 Pro. Esses detalhes estão por todo canto, microfones redundantes, webcam boa, etc… Todas estas coisas contribuem para, dentre diversas coisas, o sistema ser rápido o necessário, mas de forma mais importante para a Apple, parecer visualmente rápido.

  2. Sinergia De Todo O Software
    Todas as bibliotecas para interface são focadas em performance visual e eficiência, é a fabricante que desenvolve elas, todos os apps usam essas bibliotecas e praticamente apenas elas, a fabricante faz também o hardware e o kernel… Há muitas otimizações incomuns, como refresh rate adaptativo de acordo com a velocidade de movimentação das imagens, não renderização de conteúdo que não está visível, etc… Com o M1, várias coisas caindo no colo dos circuitos de IA do processador, como isolamento de vozes em videochamadas, textos interativos em fotos e imagens, e assim vai.

Estas coisas deixam a CPU leve já que o código explora bem todo o hardware, e uma memória RAM e SSD tão rápidos reduzem bruscamente a penalidade de tudo não estar na RAM.

No fim do dia, muita coisas é mais rápidas no Linux ou Windows, mas a “mágica” da Apple é ser rápido onde você percebe, e isso em muitos momentos não tem a ver com ter a melhor performance bruta.

6 curtidas

O software preload faz uma leitura dos software que você mais usa no passar do dia e os deixa pré-carregado na memoria.
Já que você tem muita memoria sobrando, seria uma boa usar o preloader para pré-carregar os software na memoria.

O pré-carregamento é a ação de colocar e manter os arquivos de destino na RAM.
O benefício é que os aplicativos pré-carregados iniciam mais rapidamente porque a leitura na RAM é sempre mais rápida 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 Firefox e LibreOffice. 

Mas o preload é mais eficiente quando se tem muita memoria sobrando.
https://wiki.archlinux.org/title/Preload_(Português)

Se você usa compressão de dados em filesystem isso pode deixar o sistema mais lento.

1 curtida

Isso não é memória RAM, é armazenamento, tem como emular com preload (fica até mais rápido inclusive) mas…

2 opções: a + complicada e demorada, é usar o Gentoo e ter tudo compilado para seu hardware
A menos complicado embora ainda demorada, é recompilar o kernel deixando-o + enxuto. Combine isso ao preload e sua máquina deverá ter um bom ganho de desempenho.

1 curtida

Qual a configuração do seu computador atual? Você usa SSD?

Tenho um computador com processador antigo (i5 4670K (4/4) @ 3.8 GHz), 16GB de RAM DDR3 e um SSD Sata de entrada com DRAM. Aqui estou acostumado a abrir aplicativos quase instantaneamente no Linux (assim como ocorria no Windows). Dificilmente creio que perceberia alguma diferença ao usar um Mac nesse quesito.

Macbooks geralmente têm um bom hardware. O Linux também fica extremamente performático em bom hardware.

No mais, como comentado, o pacote preload talvez possa fazer alguma diferença.

2 curtidas