React não recarrega a página ao salvar no Linux [Resolvido]

Publicado por Glaulher Ramalho Medeiros em 16/06/2020

[ Hits: 2.127 ]

 


React não recarrega a página ao salvar no Linux [Resolvido]



Para resolver esse problema é preciso alterar o valor de max_user_watches em inotify, cada relógio inotify usado ocupa 540 bytes (sistema de 32 bits) ou 1 kB (duplo em 64 bits). Isso sai da memória do kernel, que não pode ser trocada. Supondo que você definiu o máximo em 524288 e todos foram usados (improvável), você usaria aproximadamente 256 MB / 512 MB de memória do kernel de 32 bits / 64 bits.

Observe que seu aplicativo também utilizará memória adicional para acompanhar os identificadores inotify, os caminhos de arquivo no diretório etc.

Para verificar o número máximo de relógios inotify:

cat /proc/sys/fs/inotify/max_user_watches

No Debian esse valor padrão é 8192, para definir o número máximo de relógios inotify temporariamente:

sudo sysctl fs.inotify.max_user_watches=524288

Troque 524288 pelo valor de sua preferência.

Para definir o número máximo de relógios inotify definitivamente:

sudo -i
# echo "fs.inotify.max_user_watches=524288" |tee -a /etc/sysctl.conf
# sysctl -p
# exit

Permanentemente (informações mais detalhadas):

Coloque fs.inotify.max_user_watches=524288 nas configurações do sysctl. Dependendo do seu sistema, eles podem estar em um dos seguintes locais:
  • Debian / RedHat: /etc/sysctl.conf
  • Arch: coloque um novo arquivo em /etc/sysctl.d/, por exemplo /etc/sysctl.d/40-max-user-watches.conf

Você pode recarregar as configurações do sysctl para evitar uma reinicialização:
  • Debian / RedHat: sysctl -p
  • Arch: sysctl --system

Verifique se o número máximo de relógios inotify foi atingido:

Use tail com a opção -f (follow) em qualquer arquivo antigo, por exemplo:

tail -f /var/log/dmesg

Se estiver tudo bem, mostrará as últimas 10 linhas e fará uma pausa; abortar com Ctrl-C - se você estiver sem relógio, falhará com este erro um tanto enigmático:

tail: cannot watch '/var/log/dmsg': No space left on device

Para ver o que está usando os relógios inotify:

find /proc/*/fd -lname anon_inode:inotify | cut -d/ -f3 | xargs -I '{}' -- ps --no-headers -o '%p %U %c' -p '{}' | uniq -c | sort -nr

A primeira coluna indica o número de inotify fds (embora não seja o número de relógios) e a segunda mostra o PID desse processo.

Fontes

Outras dicas deste autor

Manutenção: dando uma faxina no Void Linux

Resolvendo tearing com o picom

Rofi no Void Linux - Menu para desligar e reiniciar o i3WM

Porque Utilizar o Void Linux

Leitura recomendada

React Native: Package Ignored Invalid Configuration [Resolvido]

Executando um projeto em React JS no modo HTTPS

Criando um Jogo de Corrida em React Native [Vídeo]

Alterando a porta 3000 de um projeto em React ou NodeJS

Gerenciamento de usuários e máquinas na Base LDAP

  

Comentários
[1] Comentário enviado por fabio em 16/06/2020 - 10:18h

Bom saber, comecei a estudar React essa semana. No meu Debian o valor padrão está bem acima que o da dica, 1048576. Creio que não terei o problema nessa máquina rsrs.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts