我有一個python進程(Pylons webapp),不斷使用10-30%的CPU。我會改進/調整日誌記錄以瞭解正在發生的事情,但在那之前,是否有任何工具/技術可以查看python進程在做什麼,線程有多少以及如何繁忙等等。調查蟒蛇進程,看看有什麼吃CPU
更新:
- 配置的訪問日誌,這表明沒有正在進行的請求,的webapp只是空轉
- 沒有任何意義了中間件鏈paste.profile堵塞,因爲沒有請求,活動必須發生在webapp的工作者線程或paster web服務器
- 運行貼紙,如下所示:「python -m cProfile -o outfile/usr/bin/paster serve dev.ini」並檢查結果顯示大部分時間已用完在「posix.waitpid」中。帕斯特運行Web應用程序中的子,子活動不是由分析器
- 尋找到回升;黑客PasteScript「服務」命令,這樣子進程會得到異形
另一個更新:
很多修修補補之後,在各個地方粘貼分析器並熟悉PasteScript內部,我發現如果應用程序啓動時沒有「--reload」參數(此標誌告訴paster自動重啓,如果代碼更改,便於開發),則CPU負載會消失,這在生產環境中很好。
什麼操作系統? – mavnn 2009-04-17 11:19:38