PyAMF を使用するサーバーによるメモリ使用量の増加に続いて、数時間掘り下げた後、その理由は easy_install によってインストールされたバージョン 0.6.1 の pyamf ライブラリであることに気付きました。このエラーは、64 ビット バージョンと 32 ビット バージョンの両方の Ubuntu 12.04 で発生しました。以下はvalgrind massif
ツールからのレポートです。
--------------------------------------------------------------------------------
Command: python build_web/web2py.py -a root --minthreads=1 --maxthreads=1 --nogui
Massif arguments: --depth=50
ms_print arguments: massif.out.492
--------------------------------------------------------------------------------
MB
31.69^ #
| @@::@#
| @@ :@:::::@ : @#
| ::: :@ :::::@: :: @ : @#
| : ::::::: ::@ : : :@: :: @ : @#
| ::::::: ::: ::@ : : :@: :: @ : @#
| ::: ::: ::: ::@ : : :@: :: @ : @#
| ::::@::@::::::: ::: ::: ::@ : : :@: :: @ : @#
| ::::::: : @: @::: ::: ::: ::: ::@ : : :@: :: @ : @#
| :@@::: :: : : @: @::: ::: ::: ::: ::@ : : :@: :: @ : @#
| ::::::::::::@ ::: :: : : @: @::: ::: ::: ::: ::@ : : :@: :: @ : @#
| :: ::: ::: :@ ::: :: : : @: @::: ::: ::: ::: ::@ : : :@: :: @ : @#
| ::::::: ::: ::: :@ ::: :: : : @: @::: ::: ::: ::: ::@ : : :@: :: @ : @#
| :: : :: ::: ::: :@ ::: :: : : @: @::: ::: ::: ::: ::@ : : :@: :: @ : @#
| :: : :: ::: ::: :@ ::: :: : : @: @::: ::: ::: ::: ::@ : : :@: :: @ : @#
| :: : :: ::: ::: :@ ::: :: : : @: @::: ::: ::: ::: ::@ : : :@: :: @ : @#
| :: : :: ::: ::: :@ ::: :: : : @: @::: ::: ::: ::: ::@ : : :@: :: @ : @#
| :: : :: ::: ::: :@ ::: :: : : @: @::: ::: ::: ::: ::@ : : :@: :: @ : @#
| :: : :: ::: ::: :@ ::: :: : : @: @::: ::: ::: ::: ::@ : : :@: :: @ : @#
| :: : :: ::: ::: :@ ::: :: : : @: @::: ::: ::: ::: ::@ : : :@: :: @ : @#
0+----------------------------------------------------------------------->Ti
0 2.678
私の場合に取り組んでいる解決策は、cpyamf
pip を使用して pyamf パッケージを使用またはインストールするpip install pyamf
ことです。これは、このコマンドもインストールcpyamf
さ__init.py__
れ、条件付きインポートが含まれているためです。
try:
from cpyamf import amf3
except ImportError:
from pyamf import amf3
何が起こっているのか説明してもらえますか?