【问题标题】:How to get the maximum number of threads my program has used?如何获得我的程序使用的最大线程数?
【发布时间】:2021-01-31 21:53:20
【问题描述】:

我正在尝试分析我的应用程序使用的系统资源。我的应用程序正在使用线程以及也可能使用线程的 3rd 方库。有没有办法找出以下内容?

  • 在我的进程中创建的线程总数
  • 在我的进程中创建的最大并发线程数

操作系统是 Linux 或 macOS。我正在寻找最好的源级解决方案。我的应用程序是用 Swift 编写的,但我可以使用 C、命令行或任何实用的解决方案。此外,由于我使用的是 3rd 方库,因此我不能简单地围绕线程创建函数编写包装函数。

【问题讨论】:

    标签: linux multithreading macos pthreads profiling


    【解决方案1】:

    如果您正在寻找这个,您可以查看流程的结构 将列出所有子流程

    在 Bash 中:

    pstree
    

    或首先获取您的程序的 pid,然后:

    pstree $(pidof appname)
    

    【讨论】:

    • 我相信 ps 和 pstree 只会为您提供线程的实时快照。但我想知道在我的程序中创建的线程总数,包括已销毁的线程。
    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2017-09-29
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    相关资源
    最近更新 更多