MaxSpareServersはMinSpareServersより常に大きくなる
MPMがperforkのとき、Apacheの設定ファイル中でMaxSpareServersとMinSpareServersの値を同じに設定しても、Apacheの内部でMaxSpareServersがMinSpareServersより大きくなるように補正される。例えば、MinSpareServersとMaxSpareServersを両方とも256に設定した場合、MaxSpareServersが257に補正される。補正されても、Apacheのログには補正されたことが出力されない。
補正しているコードを以下に示す。コード中のap_daemons_max_freeとap_daemons_min_freeは、 それぞれMaxSpareServersとMinSpareServersを指している。
if (ap_daemons_max_free < ap_daemons_min_free + 1) /* Don't thrash... */
ap_daemons_max_free = ap_daemons_min_free + 1;
引用元: http://svn.apache.org/viewvc/httpd/httpd/tags/2.4.4/server/mpm/prefork/prefork.c?view=markup
GitHubにレポジトリを移行する方法
他の場所にあるリポジトリをGitHubに移行させるための方法を書いたメモ。
移行元リポジトリをローカルにclone
$ git clone https://orig.repo.example.com/
ここで、https://orig.repo.example.com/
は移行元リポジトリのURL。
ローカルリポジトリにある.git/config
の編集
cloneしてできたローカルリポジトリで、.git/config
にある以下の行をコメントアウトする。
$ cd repo-name/
$ vi .git/config
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = https://orig.repo.example.com/
[branch "master"]
remote = origin
merge = refs/heads/master
ここで、repo-name
はリポジトリの名前。
移行先リポジトリの作成
GitHubにログインし、新規リポジトリを作成する。
移行先リポジトリへのpush
GitHubのページに表示される指示に従って、GitHubにある移行先リポジトリをローカルリポジトリに登録し、移行先リポジトリにpushする。
$ git remote add origin git@github.com:foo/bar.git
$ git push -u origin master
ここで、git@github.com:foo/bar.git
は移行先リポジトリ。
移行先リポジトリにおけるブランチとタグの追加
このままだと、GitHubの移行先リポジトリにブランチはmasterのみ、タグはなしなので、追加する。
まず、ローカルリポジトリで、以下のシェルスクリプトを実行する。
実行すると、ローカルリポジトリにブランチが作成される。作成されるブランチは移行元リポジトリにあるものである。
次に、ローカルリポジトリにあるブランチとタグを移行先リポジトリにpushする。
$ git push --all
$ git push --tags