Emacs no Windows 7 muito lento quando o computador está fora da rede da empresa

8

Estou usando o GNU Emacs 24.3 no Windows 7 e normalmente não tenho problemas com velocidade / capacidade de resposta.

Estou lançando o Emacs com runemacs.exe

No entanto, quando estou viajando e tento me conectar à rede da minha empresa via VPN (ou apenas trabalhando offline sem uma conexão com a rede da empresa), o Emacs geralmente fica incrivelmente lento - pode levar alguns minutos para abrir um buffer e isso simplesmente não acontece. responda aos comandos do teclado.

(Ainda estou muito interessado em uma solução) Todos os arquivos de texto e configuração relevantes são salvos no meu diretório de usuários, C:\Users\myusername.domainname\Documentslocalizado no disco rígido local (portanto, não é necessário acessar servidores remotos), mas será que o Windows 7 pode tentar sincronizar esses arquivos com um servidor

Também estou usando o recurso "arquivos offline" para outros diretórios e me pergunto se isso poderia afetar o meu problema.

O problema ocorre não apenas quando a VPN é usada, mas também quando o computador está offline e não está conectado à rede da empresa.

Principalmente inofensivo
fonte
1
Como "O problema ocorre não apenas quando a VPN é usada, mas também quando o computador está offline e não está conectado à rede da empresa", não está claro que a VPN tenha alguma coisa a ver com o problema.
Joe Corneli
Que tal usar a versão pública mais recente do Emacs, em vez da 24.3? Existe um motivo para tentar solucionar uma versão mais antiga do Emacs quando uma versão estável mais recente estiver prontamente disponível?
lawlist
@lawlist: obrigado, acho que atualmente estou usando o Emacs 24.5, vou verificar isso amanhã quando voltar ao computador. De qualquer forma, não deveria ser possível em todas as versões estáveis ​​do Emacs funcionar em qualquer configuração de rede sem problemas?
MostlyHarmless
1
Por que o Emacs faria solicitações de DNS? Por que a lentidão se deve a solicitações de DNS, em vez de algum outro tipo de acesso à rede?
Gilles 'SO- stop be evil'
1
lists.gnu.org/archive/html/bug-gnu-emacs/2012-10/msg00230.html oferece algumas dicas e (setq w32-get-true-file-attributes nil)pode ajudar.
Luís Oliveira

Respostas:

3

A razão deste problema pode estar usando o recentfmodo. Você precisa desativar a limpeza de arquivos indisponíveis usando o seguinte comando em ~ / .emacs (ou ~ / .emacs.d / init.el, se você estiver usando):

(setq recentf-auto-cleanup 'never)
corrente cerebral
fonte
thanks a lot - que parece promissor, mas eu não uso recentfo modo e não poderia encontrar tal opção em meu .emacs ou init.el
MostlyHarmless
1
Estou tendo o mesmo problema que o OP, e isso não ajudou em nada.
21715 PaulB
Não consigo pensar em nenhuma razão recente que tenha algum impacto. É simplesmente uma lista de arquivos recentes. Eles não são restaurados ou verificados,
RichieHH
Um arquivo recentef muito grande pode realmente introduzir latência intermitente, mas esse não parece ser o problema descrito pelo OP.
InHarmsWay
3

Eu tive o mesmo problema e parece que está sendo causado pelo serviço netlogon do Windows . A solução mais simples é desativá-lo quando estiver fora da rede da empresa, executando o seguinte comando na linha de comando:

net stop netlogon

Quando você voltar à rede da empresa, inicie-o novamente usando

net start netlogon
arvidj
fonte
2

Por algumas razões possíveis, duas em cima da minha cabeça (tiveram esses problemas no passado).

  1. Você pode ter uma pasta remota mapeada no Windows e, quando está fora da rede local, pode atrasá-lo bastante (sair da VPN não ajuda muito, na verdade, pode piorar a situação, pois o Windows continuará tentando alcançá-la parada apenas .) Versões mais recentes do Windows parecem lidar um pouco melhor com ele, mas ainda assim. Tente executar net use * /deleteem um prompt de comando e veja se isso ajuda.

  2. Verifique se você está usando tramp(duvido que esteja no Windows, mas também estou usando o Windows junto com o Linux e uso-o tramppara que não fique totalmente fora de questão.) Nesse caso, tente executar tramp-cleanup-all-connectionsquando estiver fora da rede.

Se tudo isso ou qualquer outra coisa que as pessoas sugerirem aqui não ajudar, pode ser necessário executar uma solução de problemas mais profunda. A melhor ferramenta que encontrei para ele é o Process Monitor da Sysinternals ( https://technet.microsoft.com/en-us/sysinternals/bb896645 ). É uma coisa complexa de se lidar, e requer pelo menos um entendimento básico do sistema operacional Windows, mas é capaz de eliminar totalmente as adivinhações do processo e zerar o agressor.

Yuri Steinschreiber
fonte