web-dev-qa-db-ja.com

どのpythonスクリプトがリソースを使用しているかを調べる方法は?

誰かが、どのpythonスクリプトが多くのシステムリソースを使用しているかを知る方法を教えてもらえますか?

「top」コマンドを使用すると、「python」というプロセスが常にリストの一番上にあることがわかります。

2603 jesse     20   0  159m  27m  13m S    6  1.4   1:47.74 python

この特定のpythonスクリプトの名前を見つける方法を教えてもらえますか?

このpythonプロセスを開始するものが最終的に見つかるまで、起動アプリ/プロセスを無効にするという困難なプロセスを経ることができましたが、このpythonプロセスを正確に判断するより良い方法が必要ですはい、そうですか?

ps -AHを実行しても、何の有用性も得られません。

ps -AH

   1 ?        00:00:00 init
...
1325 ?        00:00:00   lightdm
1382 tty7     00:01:57     Xorg
2265 ?        00:00:00     lightdm
2510 ?        00:00:00       gnome-session
2546 ?        00:00:00         ssh-agent
2560 ?        00:00:02         gnome-settings-
2582 ?        00:00:01           syndaemon
2578 ?        00:00:49         compiz
3009 ?        00:00:00           sh
3010 ?        00:00:01             gtk-window-deco
2590 ?        00:00:00         nm-applet
2591 ?        00:00:00         bluetooth-Apple
2592 ?        00:00:00         indicator-ubunt
2593 ?        00:00:00         gnome-fallback-
2600 ?        00:00:05         nautilus
2601 ?        00:00:00         everpad
2603 ?        00:02:24         python

自分で答えを見つけました!

それは

ps -Ao pid,cmd
  • -A =すべてのプロセスを表示
  • -o pid,cmd =表示オプション:プロセスID、完全なコマンド文字列

-Hを追加すると、ツリーリストが表示されるため、どのプロセスが他のプロセスを開始したかを確認できます。

ps -AHo pid,cmd

問題のプロセスは/usr/share/screenlets/screenlets-pack-basic/Sysmonitor/SysmonitorScreenlet.pyでした

このsysmonitorスクリーンレットは、CPUを常にポーリングし、デスクトップ全体よりも多くのメモリを使用するため、オフにすることになると思います。