- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在我新安装的使用内核 3.2 的系统上,我看到一个不断消耗 CPU 的 kworker 线程。我想找出内核/模块的哪一部分创建了这个工作队列。
如何跟踪名为“kworker/0:3”的 kworker 线程到它在内核空间中的起源?
我试图查看/sys/kernel/debug/tracing/events/workqueue,但无法弄明白。
最佳答案
(在我看来这不是主题,但这是我在 answer 上发布的 unix.stackexchange.com。)
我找到了 this thread on lkml这稍微回答了你的问题。 (似乎连 Linus 自己都对如何找出这些线程的来源感到困惑。)
基本上,有两种方法可以做到这一点:
$ echo workqueue:workqueue_queue_work > /sys/kernel/debug/tracing/set_event
$ cat /sys/kernel/debug/tracing/trace_pipe > out.txt
(wait a few secs)
为此你需要ftrace在您的内核中编译。
这将输出线程都在做什么,对于跟踪多个小作业很有用。
cat /proc/THE_OFFENDING_KWORKER/stack
这将输出做大量工作的单个线程的堆栈。它可以让您找出导致此特定线程占用 CPU 的原因(例如)。 THE_OFFENDING_KWORKER
是进程列表中kworker的pid。
关于linux - kworker线程的起源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10846747/
我正在编写一个 Point 类(在 3d 空间中)并且一直想知道创建原点的最佳方法是什么。这是基本类(取自 Andy 的示例,以防万一有人想知道基本实现是什么): struct Point {
所以我遇到了 MY: WARNING cannot transform class XYZ java.lang.RuntimeException: Method code too large!
我有一个在 Glassfish 下运行的 Java EE 应用程序。 经过最近的一些更改,我们开始在日志中看到大量语句: [#|2011-12-16T11:20:27.007-0800|INFO|su
使用UncaughtErrorEvent.UNCAUGHT_ERROR时是否可以获得错误和错误事件的目标/起源? 我正在使用复杂的Flash应用程序记录用户的运行时错误,并想知道哪里出现了问题。 Un
既然除了窗口大小之外什么都没有变化,我的程序需要一个完整的核心来在最大化的窗口上渲染场景是否正常? 我在 Windows 上使用 C++ 语言的 Qt 4.7 绘制 150 张尺寸为 1754*124
我正在尝试让我的 Chrome 扩展程序将文件上传到 Google 云端硬盘,但我在授权时遇到了困难。我一直在研究 here 中的代码和说明,但我不知道在开发者控制台中为“Authorized Jav
我在通过 webhook 与 GitHub 连接的服务器上运行 Jenkins。不幸的是,我的构建偶尔会失败,我不知道为什么。有时重新启动 Jenkins ( sudo service jenkins
我在使用 Atmosphere 框架 (https://github.com/Atmosphere/atmosphere) 构建的网络应用程序中启用 CORS 时遇到问题 我的请求类似于: /**
我正在使用 AngularJS 开发一个 Web 应用程序。它包含一个管理界面,该界面依赖于另一个域上的 json-rpc API。 在我的本地环境中,如果我向 API 服务器发出请求(使用 Angu
我正在开发一个同时使用 REST 端点和 SockJS websocket 的服务器应用程序。这曾经在 Spring 5.2 及更低版本下工作正常。 然而,从 5.3 版本开始 ,以下方法存在于org
我刚刚开始使用 angularjs,并且使用 Rails 作为后端 api。我已经成功设置了 Angular rails 资源( https://github.com/FineLinePrototyp
我是 React js 的新手,我正在尝试根据用户输入简单地动态更改 map 但是对于特定位置的搜索请求,此错误会增加 XMLHttpRequest cannot load https://maps.
我对一个我想到的项目做了一些测试,其中涉及使用附近的地方。所以我和大佬一起开始摆弄 Google 的 Places Api。我在我的 map 上使用带有 openstreet 瓷砖的传单。现在一切都很
我是一名优秀的程序员,十分优秀!