如何在NVIDIA Nsight Systems中限制线程显示或采集线程信息?
解决Nsight Systems线程过多导致报告加载慢的问题
一、采集阶段从根源控制线程数据量(最有效)
- 线程过滤配置:在Nsight Systems的采集配置界面(Launcher或项目设置)找到
Thread Filtering选项,直接设置规则:- 按线程名匹配:输入关键字,只采集包含该关键字的线程(比如只保留带
cuda前缀的线程,或者你的核心业务线程名) - 按进程筛选:先锁定要分析的目标进程,再在进程内过滤线程,避免采集系统无关进程的冗余线程
- 按线程名匹配:输入关键字,只采集包含该关键字的线程(比如只保留带
- 精简采集项:在
Trace Settings里关闭不必要的系统线程采集,比如只保留CUDA Runtime、CUDA Driver相关的事件类别,砍掉非关键的OS线程事件 - 用轻量采集模板:别用默认的
Full模板,选Basic或者自己定制精简模板,自动减少无关线程和事件的记录
二、已采集报告的快速清理(应急用)
如果已经存了全量报告,加载后也能快速整理视图:
- 在Timeline左侧的
Thread List面板,用搜索框搜线程名关键字,右键隐藏无关线程 - 点顶部工具栏的漏斗图标,设置过滤规则,只显示CUDA相关线程或特定进程的线程
三、命令行采集时的线程限制
如果用nsys profile命令行采集,加参数直接限制:
--thread-filter:指定要采集的线程名或ID,比如nsys profile --thread-filter "cuda*" ./your_app--process-filter:先限定目标进程,再缩小线程范围
内容的提问来源于stack exchange,提问作者Michael Williamson
相关产品推荐
相关产品推荐

