t-tanaka
2025年9月17日 15時17分
==========
製品型番:AG9130-C03Z
Debian/ABOSバージョン:3.22.1-at.1
カーネルバージョン:5.10.240-0-at
3G/LTE モジュール情報 (Debianのみ):
その他:
==========
お世話になっております。
Debian12のコンテナ上にpypyモジュールをインストールして使用したいと考えています。
https://downloads.python.org/pypy/
上記のサイトからpypy3.11-v7.3.20-aarch64.tar.bz2をダウンロードして、コンテナ上に展開してpypyを使用できるようにしました。
pypyを実行すると以下のWarningが出力されました。
Warning: cannot find your CPU L2 & L3 cache size in /sys/devices/system/cpu/cpuX/cache
以下実行時ログ
root@215c68fe0b5f:/# pypy Warning: cannot find your CPU L2 & L3 cache size in /sys/devices/system/cpu/cpuX/cache Python 3.11.13 (413c9b7f57f5, Jul 03 2025, 17:26:14) [PyPy 7.3.20 with GCC 10.2.1 20210130 (Red Hat 10.2.1-11)] on linux Type "help", "copyright", "credits" or "license" for more information. >>>>
こちらのWarningは無視しても大丈夫なものでしょうか。
ご多用のところ恐れ入りますが、ご確認の程宜しくお願い致します。
at_dominique.m…
2025年9月17日 17時56分
マルティネです。
>
Warning: cannot find your CPU L2 & L3 cache size in /sys/devices/system/cpu/cpuX/cache
> こちらのWarningは無視しても大丈夫なものでしょうか。
このあたりですね:
https://github.com/pypy/pypy/blob/main/rpython/memory/gc/env.py#L297
無視しても大きい問題はないと思いますが、gc (garbage collector) の「nursery」のサイズがセオリー以上に大きくなります。
性能に問題なければこのままでも問題ありませんが、遅いと感じていたら
PYPY_GC_NURSERY
の環境変数で設定できますので、以下のように試してみてください。
試してませんが、Armadillo IoT A9E ですと 128KB か 64KB が適切かと思います。
(今のメッセージがある状態ですと、4MB となります)
ちなみに、こちらの問題は /sys/devices/system/cpu/cpu0/cache/index2/size というファイルが存在しないのが原因ですので、カーネルが古いのが原因かと思っていましたが、
* ディレクトリを作ったとしても L3 のキャッシュがないので、ワーニングが出続けてどのみち pypy に何かの対応が必要です ( https://github.com/pypy/pypy/issues/5134 同様)
* テスト用の Linux 6.12 でも存在しません(上記の issue は Linux 6.11 + apple M1 で存在していた)ので、カーネルのバージョンではなさそうです。
性能の影響がそんなに大きくないと思いますのでこのまま放置しますが、PYPY_GC_NURSERY の変更で性能が大幅に変わるようでしたら pypy に 新しい issue を作りますので言ってください。
よろしくお願いします