私は長年走ってきたPythonサービスを持っており、GILを待っている実行可能スレッド(つまり、何か他の理由でブロックされていなかったスレッド)によってどれくらいの累積的な時間が費やされたのかを知りたいと思います。これを行う簡単な方法はありますか?たとえば、定期的にカウンタをログファイルにダンプすることができます。Python GILを待つのにどれくらいの時間を費やすのか簡単に教えてください。
私の根底にある動機は、これらの長期実行プロセスからの謎の応答待ち時間の原因としてGILを排除することです。 GILの疑いがある理由は特にありませんが(他にも症状に合っているかもしれませんが)、他の形式のログではまだ何も表示されていないので、なら簡単です、 。
gil_loadプロジェクトは、GILがどのくらいの頻度で保持されているかを示します(*少なくとも1つの*スレッドが実行可能です)。この質問は、GILがどれくらいの頻度で待っているかを質問します(つまり、少なくとも2つのスレッドが実行可能です)。あなたはgil_loadでそれをどのように達成していますか? –