Windows Server 2003 に Subversion リポジトリがあり、それを Server 2008 R2 64 ビットを実行する新しいサーバーに移動したいと考えています。新しいサーバーには 8 GB の RAM があります。
現在、リポジトリは 1.5 より前の形式になっているため、リポジトリ全体をダンプしてロードしたいと考えていました。リポジトリには 20,000 を超えるリビジョンがあります。リビジョン 12900 では、そのバージョンをインポートしようとしても、svnadmin プロセスでメモリ不足が発生します。
1 つの大きなダンプ ファイルから全体をロードしようとしました。ダンプ全体を直接ロードにパイプしようとしました。また、両方の方法でより小さなリビジョン セットを実行しようとしました。さらに、この 1 つのリビジョンだけを単独で試してみました。
プロセスは、タスク マネージャーで約 1998 MB の使用量に達すると、次のエラーで終了します。
D:\Repositories\svnrepos>svnadmin load ./ < c:\Backup\svn_12900.dmp <<< 元のリビジョン 12900 に基づいて、新しいトランザクションを開始しました * 編集パス: .../Bld/Installers ... 完了しました。 * 編集パス: .../Bld/Installers/xyxSetup.exe ... 完了しました。 * 編集パス: .../Installers/xyxyWebSetup.exe ... 完了しました。 * 編集パス: .../Bld/Src ... メモリ不足 - アプリケーションを終了しています。
このアプリケーションは、通常とは異なる方法でランタイムを終了するように要求しました。詳細については、アプリケーションのサポート チームにお問い合わせください。
このリビジョン番号のログを確認したところ、実際には自動ビルドをコミットしただけだったので、インストーラーは正常にインポートされ、失敗した場合は AssemblyInfo.cs ファイルのバージョン番号のみが表示されます。
他に何を試せばいいのか分かりません。
答え1
64 ビット Windows で 32 ビット バージョンの svn を使用すると、svn は 2 GB のメモリしか割り当てられません。Subversion の 64 ビット ビルドを入手してください。
svn のストリーム ロードのアルゴリズムはもう覚えていませんが、8GB が使用可能であると認識され、2GB 以上を管理できない場合は終了する可能性があります。
答え2
この質問は下記までメールで送ることをお勧めします[メールアドレス]このリストには Subversion システム管理者が多数含まれているため、少なくとも数人はこの問題を以前に見たことがあるはずです。
答え3
svn-kit を試してみてください。これは Subversion の Java ポートです。