10

Android 1.6リリースのソースを取得しようとしましたが、リポジトリの同期操作がハングし続けます。

ターミナルに表示されるメッセージの最後の部分をここに貼り付けています。

Fetching projects:  19% (32/164)
Initializing project platform/external/freetype ...
remote: Counting objects: 970, done.
remote: Compressing objects: 100% (414/414), done.
Receiving objects:  57% (558/970), 1.28 MiB | 26 KiB/s

それはただそこにぶら下がっています...エラーメッセージやそのようなものはありません。

誰かが同様の問題に直面しましたか?

4

3 に答える 3

12

VMWare を使用して Linux を実行しているのだろうか。原因を突き止めるまで、私はあなたと同じ問題を経験しました。私たちの側の tcp ウィンドウ サイズが 0 (フル) に設定されていることです。ホストとしてWindows 7 64ビットのVMWareでUbuntu 10.04を実行しています。これを修正するには、VMWare 上の Ubuntu に十分な RAM を割り当てて、メモリの問題を破棄してください。私は 512MB に設定し、パフォーマンスを向上させるために 1.5M に増やしました。次に、最も重要な設定 (および実際にトリックを行った設定): VMWare のネットワーク アダプターをブリッジ モードに設定してください。たとえば、NAT を使用している場合、NAT サービスはウィンドウ サイズを詰まらせて混乱させます。

原因: クライアントの TCP ウィンドウ サイズは、サーバーから一度に受信できるバイト数をサーバーに伝えます。これはクライアントの受信ウィンドウです。ウィンドウが 0 に設定されている場合、クライアントは、内部バッファーでまだ保留中のデータを処理するまで、それ以上データを受信できないことを意味します。これは通常の TCP のものです。クライアントで 0 に設定されたウィンドウのサイズ効果は、サーバーが十分に待機していると判断して接続を終了するまで、TCP 接続がしばらく存続することです。これが、リポジトリの同期がエラーなしでハングする原因でした。

于 2010-09-06T22:01:43.723 に答える
6

これが誰かがこのフォーラムを参照するのに役立つことを願っています.

大きなリポジトリのgitクローンがハングするというこの問題がありました。最初は速度が速く、その後急激に遅くなり、最後にハングします。これは、TCP ウィンドウ スケーリングの問題でした。無効にすると、正常に機能していました。

(しかし、奇妙な点は、VMWare で Linux から実行したときに問題がなかったことです。)

現在のセッションでこれを無効にするには $ sudo sysctl -w net.ipv4.tcp_window_scaling=0

于 2011-04-19T10:50:17.237 に答える
0

SO で 9 月に同様の問題がありました。

ネットワーク速度に関連している場合もあれば、使用している Git の正確なバージョンにリンクしている場合もあります。msysgit
の 場合は、最新バージョンにアップデートしてください。msysgit issue 361 も参照してください

于 2010-01-19T06:56:20.513 に答える