Este “truque de grupo estranho” faz com que o login, os aplicativos e os sistemas do MacBook Pro sejam lentos e lentos… mas por quê?


5

Editar Em resposta ao comentário de Tetsujin, mais detalhes agora são fornecidos para reproduzir a desaceleração e reverter para a velocidade normal.

A ressalva usual Experimentar bugs no nível do sistema é inerentemente arriscado. Você é aconselhado não para fazer isso, a menos que você tenha um entendimento prático de usuários, grupos e permissões e você possui backups de sistema confiáveis.


Aqui está um "truque estranho" que instantaneamente faz meu sistema MacBook Pro / Yosemite rodar devagar devagar ... criar um inclusão de grupo circular nos usuários e; Painel Grupos de Preferências do Sistema.

Respostas procuradas Por que essa desaceleração acontece? Outros usuários são afetados? Existe uma ferramenta que diagnostica e corrige automaticamente? Como isso pode ser evitado no futuro?

Observação Depois de criar essa lentidão inadvertidamente, levei duas semanas para descobrir, reproduzir e reparar a causa. A busca por uma correção foi lenta e frustrante porque nenhuma das correções usuais da "síndrome do Mac lento" foi eficaz, e nenhum dos diagnósticos usuais foi revelador.

Reproduzindo a desaceleração

No painel Preferências do Sistema, "Usuários e Grupos"

  • criar novos grupos "a" e "b"

Feche as Preferências do Sistema.

Agora abra o painel "Obter Informações" do Finder para o diretório na base de uma árvore de diretórios grande ... para mim / usr / local é grande o suficiente para provocar uma desaceleração severa. Então

  • em "Compartilhamento e permissões", atribua "a", mas não "b", privilégios de leitura / gravação a todos os arquivos na árvore, por meio da opção selecionada no menu "aplicar a itens fechados".

Agora reabra o painel Preferências do Sistema "Usuários e Grupos"

  • inclua o grupo "a" no grupo "b"
  • inclua o grupo "b" no grupo "a"

Voila! Agora tudo no meu MacBook é lento ... lento ... lento. Os logins exigem até um minuto, e até a digitação simples esporadicamente provoca a "pizza giratória". Felizmente, eliminar a inclusão do grupo circular restaura instantaneamente o sistema à sua velocidade anterior.

Voltando à velocidade normal

Para reverter as alterações, inverta as etapas acima

  • primeiro desfazer o grupo "a" e grupo "b" inclusões circulares
  • em seguida, remova o grupo "a" permissões de leitura / gravação
  • em seguida, exclua os grupos "a" e "b"

Hipótese O shell bash do Yosemite tem um desempenho ruim na resolução de referências de grupos circulares ao pesquisar grandes árvores de diretórios em variáveis ​​"$ PATH".

Evidência Até mesmo linhas de comando simples como "ls" são executadas lentamente ... parece que, quando inclusões circulares de grupo estão presentes, o bash é lento na pesquisa de $ PATH para localizar o arquivo "ls".


Visão geral do software do sistema:

System Version: OS X 10.10.2 (14C109)
Kernel Version: Darwin 14.1.0
Boot Volume: Macintosh HD
Boot Mode: Normal
Computer Name: [redacted]
User Name: [redacted] (Administration)
Secure Virtual Memory: Enabled

Visão geral do hardware:

Model Name: MacBook Pro
Model Identifier: MacBookPro11,3
Processor Name: Intel Core i7
Processor Speed: 2.5 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 6 MB
Memory: 16 GB
Boot ROM Version: MBP112.0138.B14

Note também que a árvore / usr / local é bastante grande (como é típico de desenvolvedores e usuários do LaTeX) ...

$ find /usr/local -type f | wc -l
204713

1
Surpreende-me que consegue trabalhar com refs circulares, recursão infinita. Eu acho que há algum cheque que impede apenas looping infinito & amp; girando para uma parada total.
Tetsujin

Tetsujin, não há recursão infinita (como me parece), porque afirmando que tanto "membros do grupo 'a' estão em 'b'" e "membros do grupo 'b' estão em 'a'" equivale a "'um 'e' b 'são o mesmo grupo ". Essa afirmação é totalmente válida e, portanto, é aceitável que o painel "Usuários e grupos" permita essa especificação. Hmmm ... talvez meu post possa ter melhor os chamado de "identidades de grupo" ao invés de "inclusões circulares"! Então o que não OK é que o Yosemite analisa as identidades de grupo tão terrivelmente lentamente, que os usuários podem sofrer indefinidamente de uma identidade de grupo válida que leva um clique para ser declarada.
John Sidles

1
Você já tentou fazer um grupo c & amp; adicionando um & amp; b como membros disso em vez de membros um do outro.
Tetsujin

1
Eu tentei sua configuração específica; não diminuiu nada, mas nunca resolveu o nome do grupo em um flutuante Get Info, quer eu tenha aberto & amp; fechou, ou deixou pensando por 20 minutos, apenas disse 'Buscando ...' Parece um caso muito especial de conjuntos de interseção, um é inteiramente em b & amp; b está inteiramente em um.
Tetsujin

1
A questão agora fornece instruções completas para replicar (e reverter) a desaceleração ... obrigado, Tetsujin, pela sua ajuda!
John Sidles
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.