コンピューターが企業ネットワークの外にある場合、Windows 7のEmacsが非常に遅い


8

私はWindows 7でGNU Emacs 24.3を使用していますが、通常、速度/応答性に問題はありません。

私はEmacsを runemacs.exe

ただし、旅行中に会社のネットワークにVPN経由で接続しようとする(または会社のネットワークに接続せずにオフラインで作業する)と、Emacsが非常に遅くなることがよくあります。バッファーを開くのに何分もかかる場合があり、それだけでキーボードコマンドに応答する。

(私はまだ解決策に非常に興味があります)すべての関連するテキストと構成ファイルはC:\Users\myusername.domainname\Documentsローカルハードディスクにあるユーザーディレクトリに保存されます(したがってリモートサーバーにアクセスする必要はないはずです)が、Windows 7がそれらのファイルをサーバーと同期する

他のディレクトリにも「オフラインファイル」機能を使用していますが、これが私の問題に影響を与える可能性があるのでしょうか。

この問題は、VPNが使用されている場合だけでなく、コンピュータがオフラインで会社のネットワークに接続されていない場合にも発生します。


1
「VPNが使用されているときだけでなく、コンピューターがオフラインで会社のネットワークに接続されていないときにも問題が発生する」ので、VPNが問題に関係していることは明らかではありません。
Joe Corneli、2015年

24.3の代わりにEmacsの最新の公開リリースを使用するのはどうですか?新しい安定版リリースがすぐに入手できるときに、古いバージョンのEmacsをトラブルシューティングする理由はありますか?
弁護士、2015年

@lawlist:おかげで、私は現在Emacs 24.5を使用していると思います。コンピュータに戻ったときに明日確認します。とにかく、すべての安定したEmacsリリースで、問題なく任意のネットワーク設定で機能することは可能でしょうか?
MostlyHarmless 2015年

1
EmacsがDNSリクエストを行うのはなぜですか?他の種類のネットワークアクセスではなくDNSリクエストが原因で速度が低下するのはなぜですか?
Gilles「SO-邪悪なことをやめなさい」16/07/28

1
lists.gnu.org/archive/html/bug-gnu-emacs/2012-10/msg00230.htmlはいくつかのヒントを提供し、(setq w32-get-true-file-attributes nil)役立つ可能性があります。
ルイス・オリヴェイラ

回答:


3

この問題の理由は、recentfモードの使用です。〜/ .emacs(または〜/ .emacs.d / init.elを使用している場合)で次のコマンドを使用して、使用できないファイルのクリーンアップを無効にする必要があります。

(setq recentf-auto-cleanup 'never)

どうもありがとう-それは有望に見えますが、私はrecentfモードを使用せず、私の.emacsまたはinit.elでそのようなオプションを見つけることができませんでした
MostlyHarmless

1
私はOPと同じ問題を抱えていますが、これは何の助けにもなりませんでした。
PaulB 2015年

最近の人が影響を与えるような理由は何も考えられません。これは単に最近のファイルのリストです。復元もチェックも行われません
RichieHH

非常に大きな最近のファイルは確かに断続的な遅延を引き起こす可能性がありますが、これはOPで説明されている問題ではないようです。
InHarmsWay

3

私も同じ問題を抱えていましたが、それはWindowsのnetlogonサービスが原因であるようです。最も簡単な解決策は、コマンドラインで次のコマンドを実行して、会社のネットワークの外でオフにすることです。

net stop netlogon

会社のネットワークに戻ったら、次を使用してもう一度起動します

net start netlogon

2

考えられる理由はいくつかありますが、2つ頭から離れています(これらの問題は過去にありました)。

  1. Windowsにマッピングされたリモートフォルダーがある可能性があります。ローカルネットワークから離れると、速度が大幅に低下する可能性があります(VPNをオフにしても効果はありません。実際には、Windowsが停止したフォルダーにのみ到達しようとするため、事態が悪化する可能性があります。タイムアウトによる。)より最近のバージョンのWindowsは少しうまく処理するようですが、それでもまだです。net use * /deleteコマンドプロンプトで実行して、役立つかどうかを確認してください。

  2. 使用しているかどうかを確認しますtramp(Windows を使用しているので疑わしいですが、WindowsもLinuxと一緒に使用しtrampており、完全に疑う余地はありません。使用している場合tramp-cleanup-all-connectionsは、ネットワーク外で実行してみてください。

このすべてまたは他の何かがここで提案することが役に立たない場合、より深いトラブルシューティングを実行する必要があるかもしれません。私が見つけた最良のツールは、SysinternalsのProcess Monitor(https://technet.microsoft.com/en-us/sysinternals/bb896645)です。これは対処するのが難しい獣であり、少なくともWindowsオペレーティングシステムの基本的な理解が必要ですが、推測作業をプロセスから完全に取り除き、違反者をゼロにすることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.