Se o uso da CPU do seu servidor Nextcloud aumentar repentinamente durante a criação de pré-visualizações, isso geralmente significa que a carga de trabalho está chegando de forma repentina: usuários abrindo pastas com muitas imagens, uma biblioteca grande sendo indexada ou uma tarefa de pré-visualização tentando gerar arquivos maiores do que o necessário. Instale o aplicativo Preview Generator do Nextcloud, deixe-o processar arquivos novos e modificados em uma programação controlada e reduza os tamanhos desnecessários das pré-visualizações. Isso libera o processamento de tarefas durante sessões de navegação intensas; porém, não elimina a conversão de imagens nem a carga de trabalho inicial de atualização.
Esses passos seguem o arquivo README do Preview Generator e a documentação do Nextcloud 35, verificada em 10 de outubro de 2026. Confirme a compatibilidade para sua versão na App Store do Nextcloud. O arquivo README lista arquivos criptografados como não suportados.
Por que a geração de pré-visualizações aumenta o uso da CPU?
O Nextcloud cria miniaturas conforme os usuários as solicitam, a menos que já exista uma pré-visualização. A decodificação, o redimensionamento e a conversão de imagens — especialmente para imagens originais grandes ou com várias dimensões de destino — podem consumir CPU e memória. Uma sequência de solicitações torna esse trabalho visível simultaneamente ao uso interativo.
O Preview Generator coloca arquivos novos ou modificados em fila para processamento em segundo plano. As pré-visualizações existentes são mais baratas de servir, mas as pré-visualizações ausentes ainda usam o caminho sob demanda do Nextcloud. O aplicativo transfere parte do trabalho para períodos mais tranquilos; ele não pode reduzir o processamento total nem corrigir outros gargalos, como conversão de vídeo ou armazenamento lento.
Configure uma fila de pré-visualização controlada.
1. Verifique o modo de execução em segundo plano e a compatibilidade do aplicativo.
Nas configurações de Administração, verifique as Tarefas em Segundo Plano. A tarefa integrada do Preview Generator requer o modo Cron; o arquivo README informa que AJAX e Webcron não são suportados para esse tipo de tarefa de longa duração. O Nextcloud recomenda o uso do cron do sistema. Confirme se a página de administração exibe a mensagem "Cron".
Instale o Preview Generator a partir da tela de Aplicativos ou, caso sua implantação utilize OCC e permita a instalação de aplicativos, execute estes comandos a partir do diretório de instalação do Nextcloud. No Debian ou Ubuntu, a conta do servidor web geralmente é `<username>` www-data; utilize o usuário HTTP e a versão do PHP CLI reais do seu host:
sudo -u www-data php /var/www/nextcloud/occ app:install previewgenerator
sudo -u www-data php /var/www/nextcloud/occ app:enable previewgenerator
Se já estiver instalado, ignore o primeiro comando. Verifique o status e os comandos disponíveis:
sudo -u www-data php /var/www/nextcloud/occ app:list
sudo -u www-data php /var/www/nextcloud/occ list preview
Execute o OCC como o usuário HTTP para que a propriedade dos arquivos permaneça consistente. Os caminhos e usuários variam de acordo com a implantação. Consulte a documentação do OCC do Nextcloud .
2. Reduza as variantes de pré-visualização antes de iniciar uma grande geração de variantes.
O Preview Generator pode criar miniaturas quadradas e pré-visualizações com proporções definidas em tamanhos configuráveis. Seu arquivo README informa que os tamanhos devem ser potências de quatro e que um valor vazio ignora essa categoria de pré-visualização. Um perfil inicial com recursos limitados para um servidor com dificuldades de carga é mostrado abaixo. Ele mantém pequenos blocos quadrados e dois tamanhos de proporção, enquanto ignora variantes separadas apenas para largura e apenas para altura:
sudo -u www-data php /var/www/nextcloud/occ config:app:set --value="64 256" previewgenerator squareSizes
sudo -u www-data php /var/www/nextcloud/occ config:app:set --value="256 1024" previewgenerator fillWidthHeightSizes
sudo -u www-data php /var/www/nextcloud/occ config:app:set --value="" previewgenerator widthSizes
sudo -u www-data php /var/www/nextcloud/occ config:app:set --value="" previewgenerator heightSizes
Este perfil de menor carga não é universal: os aplicativos podem precisar de pré-visualizações maiores ou de outros formatos. Se as miniaturas estiverem ausentes ou desfocadas, identifique a visualização necessária e adicione apenas o tamanho correspondente. Dimensões maiores aumentam o processamento e o uso de cache. O conjunto mínimo recomendado no arquivo README para Arquivos, Fotos e Atividades usa um tamanho maior de 4096 pixels; avalie o impacto dessa configuração no seu hardware. Consulte o arquivo README oficial do Gerador de Pré-visualizações ; ele usa uma proporção de aspecto maior, de 4096 pixels, portanto, avalie o impacto dessa configuração no seu hardware.
As configurações impõem um limite máximo de pixels. Faça backup do arquivo antes de editá-lo e certifique-se de que ele seja compatível com os tamanhos de tela dos aplicativos escolhidos. Desativar as pré-visualizações remove as miniaturas de todos os aplicativos preview_max_x.preview_max_yconfig/config.php
3. Agende o comando de pré-geração do aplicativo sem duplicar seu processo.
Para um servidor pequeno, o worker de fila integrado pode ser suficiente quando o modo Cron estiver ativo. Sua tarefa padrão é limitada a um máximo de cinco minutos por execução, e o aplicativo fornece estatísticas da fila para monitoramento. Se você precisar de uma janela de menor movimento previsível, use o comando OCC dedicado no cron do sistema. Ao usar esse agendamento personalizado, desative a tarefa de fila padrão do aplicativo para que os dois mecanismos não entrem em conflito.
sudo -u www-data php /var/www/nextcloud/occ config:app:set --value=true --type=boolean previewgenerator job_disabled
Em seguida, edite o crontab para o usuário do servidor web ( sudo crontab -u www-data -e) e adicione um agendamento de exemplo, como:
*/10 * * * * php -f /var/www/nextcloud/occ preview:pre-generate
Dez minutos é apenas um exemplo. Escolha uma cadência e um intervalo de tempo adequados ao seu tráfego e capacidade; confirme os caminhos do PHP e do OCC. Não agende o comando em outro local também. Mantenha a cron.phptarefa regular do Nextcloud, que executa outras tarefas em segundo plano. Consulte o guia de tarefas em segundo plano do Nextcloud para obter informações sobre a configuração do cron do sistema.
4. Evite uma corrida de recuperação descontrolada na primeira vez.
O arquivo README sugere que preview:generate-all, após a instalação, a verificação seja feita em arquivos existentes. Em uma biblioteca grande, essa verificação pode causar um pico significativo no uso da CPU. Evite executar muitos processos em um servidor ocupado. Comece com um usuário ou caminho durante um período de baixa atividade e monitore o uso da CPU, memória, taxa de transferência de disco e espaço livre. O comando aceita IDs de usuário, caminhos e número de processos; comece com um processo. Se necessário, divida a verificação em várias janelas.
Verifique se a carga está se tornando previsível.
Após a execução do comando, verifique a fila:
sudo -u www-data php /var/www/nextcloud/occ preview:queue-stats
As estatísticas da fila incluem pré-visualizações desatualizadas. Uma diminuição no backlog e picos de CPU que terminam com o trabalho agendado indicam que a fila está progredindo. Abra uma pasta representativa para confirmar as miniaturas e, em seguida, observe a navegação normal. Compare o uso da CPU em níveis de tráfego semelhantes; ele não chegará a zero.
Se a fila não diminuir, inspecione os logs do cron e execute o programa preview:pre-generate -vvem uma janela controlada para verificar os arquivos processados. Se o uso da CPU permanecer alto após a fila ser esvaziada, investigue outros processos PHP, tarefas ou serviços de mídia. Se as pré-visualizações estiverem usando muito espaço em disco, remova os tamanhos não utilizados ou reduza as dimensões. Verifique se as pré-visualizações restantes atendem às necessidades dos usuários.
Referências oficiais