我尝试寻找有关此主题的主题,但找不到。所以发布这个问题。
假设,我在 Linux 中用 C++ 创建了几个线程并且代码正在运行。
现在我想使用一个shell脚本来监控进程和进程的线程,并做一些额外的处理。
我还需要每个线程使用的 CPU 和内存量。我知道一个线程与一个进程相关联,但是我的要求是确定该线程使用的资源。
我找不到识别与进程关联的线程的确切方法。我尝试使用PS,但找不到任何线索。运行 RHEL。
从手册页ps
:
To get info about threads:
ps -eLf
ps axms
除了使用 Linux 命令之外,您还可以使用通用内存管理器库。这里它定义了 ThreadingModel 类。
的联机帮助页可能ps
会为您提供更多线索。
特别是,它应该告诉您-L
显示线程,-o %cpu,%mem
并将显示正在使用的 CPU 和内存量。
请注意,内存是与进程相关联的,而不是与任何线程相关联的,因此没有“每个线程使用的内存”的概念。