2011-02-08 3 views
3

長時間実行しているスレッド(つまり、アプリケーションのライフサイクル全体にわたってアクティブなスレッド)のスタック使用状況を記録したいのですが、どうすればいいですか? "xxxxKB used"のようなもので十分でしょう。スレッドスタック使用量をPythonからどのように通知するのですか?

(Pythonの2.6.6、FreeBSDの8.2-RC3)は

あなたは、FreeBSD、Pythonのが付属しています(しかし、唯一のUnix-yの環境のために働く) resourceモジュールを指定しているので

答えて

0

役に立つかもしれません。具体的には、resource.getrusage(resource.RUSAGE_BOTH)は、そのプロセスとすべての子プロセスのリソース使用量を提供します。あなたが興味があると思いますよう

それは次のようになります。私のシステムRUSAGE_BOTHで

ru_maxrss maximum resident set size 
    ru_ixrss shared memory size 
    ru_idrss unshared memory size 
    ru_isrss unshared stack size 
+0

定義されていない...私はRUSAGE_SELFてみます、ありがとう:)私は申し訳ありません – Joril

+0

を、しかし、...私はこれらの値を得ると言ってみましょう: '最大= 42928、ix = 127920、ID = 249936、= 15872'、まあ、それはどういう意味ですか? :) http://www.manpages.info/freebsd/getrusage.2.htmlにあるFreeBSDのマニュアルページによると、i * rssの値は「キロバイト単位で表現されています」ということです私の "xxxxKb used"になっているのはとても単純ではありません。getrusageは唯一の方法ですか? – Joril

関連する問題