O comportamento original de elevado consumo de CPU não era simplesmente “a indexação normal pode funcionar indefinidamente”. Após uma transferência de grandes dimensões, searchd permaneceu a 100% de CPU durante horas — e alguns utilizadores relataram vários dias — aumentando a temperatura do sistema e obrigando-os a escolher entre parar a pesquisa ou deixar a CPU ocupada.
Mais tarde, a IceWhale deu uma explicação precisa: um caso limite ocasional na lógica de paginação podia causar o problema de CPU prolongado. Este problema foi corrigido/otimizado no ZimaOS 1.3.2-beta2. A mesma atualização adicionou a suspensão do motor de pesquisa após um período de inatividade, manteve a indexação dos nomes dos ficheiros precisa/em tempo real e transferiu a indexação do conteúdo dos ficheiros para a meia-noite, com menor consumo de recursos. A documentação atual da Pesquisa do ZimaOS evoluiu ainda mais, com limitação explícita e valores muito inferiores de memória e contagem de serviços em inatividade.
searchd a consumir a maior parte da CPU depois de a transferência já ter terminado.A Pesquisa Requer um Índice
Zima-Giorgio explicou inicialmente que a função de pesquisa de Ficheiros precisa de indexar os ficheiros. Essa parte estava correta, mas não explicava por que motivo a CPU permanecia a 100% durante períodos invulgarmente longos.
Mais Tarde, a IceWhale Identificou um Caso Limite na Lógica de Paginação
Em 11 de fevereiro de 2025, orca-zhang afirmou que o problema prolongado de CPU podia ser ocasionalmente causado por um erro na lógica de paginação e que o problema tinha sido corrigido e otimizado na versão 1.3.2-beta2.
Esta é a conclusão mais sólida da fonte e deve substituir a explicação vaga anterior de que “está a indexar”.
A 1.3.2 Adicionou a Suspensão do Serviço de Pesquisa em Inatividade
A IceWhale afirmou que, quando a pesquisa não era necessária, searchd seria libertado após aproximadamente três minutos de inatividade, deixando apenas o zimaos-search serviço abaixo dos 100 MB de memória e cerca de 0–1% de CPU.
A Indexação do Conteúdo Foi Transferida para a Meia-Noite
A mesma resposta separou duas tarefas:
- índice dos nomes dos ficheiros — mantido tão preciso e em tempo real quanto possível;
- índice do conteúdo dos ficheiros — adiado até à meia-noite e executado com baixo consumo de recursos.
Essa distinção ainda existe na arquitetura de pesquisa atual.
A Pesquisa Atual do ZimaOS Adiciona Limites de Recursos Explícitos
A documentação atual da IceWhale descreve:
- monitorização em tempo real das alterações aos ficheiros e indexação dos nomes dos ficheiros;
- indexação do conteúdo à meia-noite;
- máximo de 100 000 documentos por tipo de processamento/sessão;
- máximo de cinco minutos de processamento por tipo;
- proteção contra picos de CPU através de barreiras de escrita;
- recolha de memória do serviço após um período de inatividade.
Utilize arquitetura atual da Pesquisa do ZimaOS.
A pesquisa podia ser desativada a partir do ZimaOS 1.3.2
orca-zhang afirmou que a persistência adicionada à /etc na versão 1.3.2 permitia aos utilizadores que não precisavam da pesquisa executar:
systemctl disable zimaos-search
Parar/desativar a pesquisa fará com que a pesquisa de ficheiros comunique que o serviço está indisponível. Os utilizadores atuais devem primeiro verificar o comportamento atual da pesquisa antes de desativarem um serviço essencial apenas devido a um erro histórico.
A captura de ecrã “100% cheia” de /dev/root referia-se a um problema diferente
Outro participante reparou /dev/root apresentava 100% de utilização e o utilizador tentou aumentá-la. A IceWhale explicou que esta representação da raiz SquashFS, só de leitura, é intencional para garantir a integridade do sistema e não deve ser tratada como uma partição raiz convencional, gravável, que necessite de espaço livre.
Não redimensione nem elimine partições do sistema ZimaOS porque a imagem SquashFS indica que estão cheias.
Se a pesquisa utilizar muito CPU no ZimaOS atual
- confirme que o sistema está a utilizar a versão estável atual do ZimaOS;
- verifique se acabou de ser importado um ficheiro de grandes dimensões;
- permita que o período de indexação documentado termine;
- monitorize se o CPU diminui após o período de inatividade do serviço;
- recolha os dados atuais
zimaos-searchregistos se o CPU continuar elevado muito além do período esperado.
Perguntas frequentes sobre o uso elevado do CPU pelo searchd
Era considerado normal o uso de 100% do CPU durante vários dias?
Não. Mais tarde, a IceWhale identificou um caso-limite na lógica de paginação e corrigiu-o na versão 1.3.2-beta2.
Quando é que o ZimaOS atual faz a indexação de conteúdos?
A documentação atual indica que a indexação de conteúdos é processada durante as horas de menor atividade, à meia-noite, enquanto as alterações aos nomes dos ficheiros são indexadas em tempo real.
O facto de /dev/root estar a 100% significa que o disco do sistema está sem espaço livre?
Não se trata do caso original. A IceWhale explicou que a representação da raiz do sistema SquashFS é intencionalmente só de leitura e deve aparecer cheia.
