Windowsコマンドラインから開始したCygwinコマンドはすべて、実行前に10〜20秒の遅れがあり、Cygwinはまったく使用できなくなります。私はすでに成功せずに再インストールしようとしました。
Bashシェルウィンドウ内からコマンドを実行すると、正常に動作します(Bashの起動中に遅延が発生します)。ローカルPATH変数からすべてのエントリを削除しても、影響はありません。Windows 7 x64およびCygwin x64 v 1.7.34(0.285 / 5/3)を使用しています。
Windowsコマンドラインから開始したCygwinコマンドはすべて、実行前に10〜20秒の遅れがあり、Cygwinはまったく使用できなくなります。私はすでに成功せずに再インストールしようとしました。
Bashシェルウィンドウ内からコマンドを実行すると、正常に動作します(Bashの起動中に遅延が発生します)。ローカルPATH変数からすべてのエントリを削除しても、影響はありません。Windows 7 x64およびCygwin x64 v 1.7.34(0.285 / 5/3)を使用しています。
回答:
時折、何千人ものユーザーがいるWindowsドメインで働いています。
私はベスト推測のアプローチをしたくありません。Cygwinは、必要に応じてユーザー情報をキャッシュすることを好みます。これは簡単です。
cygserver
ログイン時に実行するだけです。
これを適切に設定するには、cygserver-config
一度だけ実行します。これcygserver
により、正しい資格情報を使用してWindowsサービスとして実行されるように設定されます。これは、管理者の Cygwinウィンドウから行います。
$ cygserver-config
Generating /etc/cygserver.conf file
Warning: The following function requires administrator privileges!
Do you want to install cygserver as service?
(Say "no" if it's already installed as service) (yes/no) yes
The service has been installed under LocalSystem account.
To start it, call `net start cygserver' or `cygrunsrv -S cygserver'.
Further configuration options are available by editing the configuration
file /etc/cygserver.conf. Please read the inline information in that
file carefully. The best option for the start is to just leave it alone.
Basic Cygserver configuration finished. Have fun!
私のcygserver
ために何をしますか?
Cygwinサイトのドキュメントをご覧ください。基本的には、すべてのCygwinプロセス間でIPCが機能するようにするとともに、ユーザーのキャッシュ処理を行います。
もちろんあなたの走行距離は異なるかもしれませんが、今ではこれが私の好ましい作業方法です。何年も前にやるべきだった。
/usr/bin/cygserver-config: line 181: cygrunsrv: command not found
、C:/cygwin64/bin
上でPATH
、管理者として実行している...
C:\cygwin64\bin\cygrunsrv.exe
存在しますか?で誤ってスラッシュ(/
)を使用しました%PATH%
か?さは、cygrunsrvのパッケージがインストールされていますか?
C:\cygwin64\bin\cygrunsrv.exe
存在しない、cygrunsrv: NT/W2K service initiator
パッケージをインストールし、すべてが動作しています。
認証に関係しているようです。私にとっては、何かを実行するために40秒かかります。ただし、その後、そのプロセスツリーでのプロセス作成は非常に迅速になります。
https://www.cygwin.com/faq.html#faq.using.startup-slow
だから、私は
ローカル認証と独自のActive Directory(AD)資格情報のキャッシュを作成しました
$ mkpasswd -l -c >/etc/passwd
$ mkgroup -l -c >/etc/group
これら2つのファイルを使用するためだけにCygwinに指示しました
$ echo 'passwd: files' >/etc/nsswitch.conf
$ echo 'group: files' >>/etc/nsswitch.conf
すべてのCygwinプロセスを強制終了し、再び開始しました。すべてがうまく動作し、高速になりました。Cygwin DLLファイルが更新されるたびにこのハックを削除し、どのように動作するかを確認します。
これは単なるスケッチです。少なくともバックアップを保持する必要があります。
以下のアップデートをお読みください。これは問題ではないことが判明しました。
断続的ではありますが、この問題の極端なバージョンに苦しんでいます。問題が存在する場合、すべてのコマンドに20秒かかり、極端な場合には数分かかります。それは数日間発生し、その後数日間消えます。ところで、私はたくさんのDRAM、SSDドライブなどを備えた非常に高速なシステムを持っています。
ようやく物事を説明するかもしれない理論の候補ができました。私はCygwinをsetup-x86_64.exeで更新しました(これはめったに行いません)が、その後非常に反応が良くなりました(文字通り、以前よりも数千倍高速になりました)。更新の終わりにリベースオールが違いをもたらしたと思います。
更新:前に見たスピードアップは明らかに偶然でした。1か月後に問題が再発したとき、これは修正されませんでした。Windows Defenderのライブ保護を無効にすると、すぐに速度低下が解決されたことがわかりました。
脚注として、私はちょうど私が再構築しなければならなかったことがわかりました passwd
group
Cygwinの更新後にand ファイル。スロー動作が再び発生したため、インストールの自動リベース部分が完了するまでに数日かかりました。
(Windows 10)システムでデフォルトのnsswitch.confを変更する必要もありませんでした。
ちなみに、スローコマンドの動作は、Windowsコマンドプロンプトとポータブルアプリケーションでも示されています。一部のポータブルアプリケーションは、起動時にウィンドウを生成するのに数時間かかりました。
これは、この問題が私にとってどのように現れたかです。最初の20個のコマンドでは、Cygwinプロンプトで入力されたコマンドは高速でしたが、その後、急激に遅くなりました。
上記の認証修正を試しました。私にはうまくいきませんでした。
Cygwin FAQは、Cygwinはユーザー名またはグループ名のスペースを好まないと報告しています。Windowsログオン名にスペースが含まれているを参照してください。これにより問題が発生しますか?。
グループ名にスペースが含まれていたため、 /etc/group
、認証修正で生成されたファイルのアンダースコア。それもうまくいきませんでした。
同じ問題に関する他の投稿では、ウイルススキャナの結果と報告されています。既存のウイルススキャナー(System Center Endpoint Protection)をソフォスに置き換えました。これで問題は解決しました。
これがお役に立てば幸いです。
しばらくの間、cygwinでビルドの実行が遅いという問題がありました。
昨日更新することを余儀なくされ、rebaseallが単に実行に失敗するという問題に遭遇しました。これにより、他のことを掘り下げることを余儀なくされ、Trusteer Rapport / End Point Protectionがリベースオールと遅い応答時間の問題を引き起こすことが知られているという報告を見つけました。そのため、コントロールパネルの通常のWindowsプログラムのアンインストール方法で削除しました。
その後、管理者として実行されるダッシュインターフェイスからrebaseallを実行しました。
つまり、(win7)スタートメニューからダッシュを入力します。ダッシュショートカットが表示されます。右クリックして管理者として実行します。次に、起動したら次を実行します。
/ usr / bin / rebaseall -v
コーヒーを飲みに行く...出力を表示する前に数秒間座って、5分以上座って何もしない場合は、別の問題があります。
これによりリベースオールが修正されましたが、ビルドの速度も大幅に向上しました。インストールされているかどうかを確認する価値があるので、削除してみてください。
c:\msys64\user\bin\dash.exe
。管理者として実行するには、デスクトップにショートカットを作成する必要がありました。残念ながら、これは私の遅いcygwinを修正しませんでした:(
C:\cygwin\bin>.\ls.exe <ENTER>