当我尝试微调我的流程时,我看到等待通道是 stext,这是什么意思?
kiwi
问问题
20341 次
3 回答
12
WCHAN 是内核中进程正在休眠的地址(如果它确实在休眠)。将其设置为 stext 通常意味着您的内核早于 2.6 并且您尚未初始化 System.map(名称列表文件)或者您的内核和名称列表文件不匹配。
如果您执行“man ps”并搜索 wchan,它将告诉您名称列表文件的搜索路径。很可能它发现的第一个与您拥有的内核不匹配,因为 stext 是内核 TEXT 段的开始,您不太可能在那里睡觉。
我相信如果地址在 TEXT 段之外,默认情况下你会得到 stext (因此我认为你的名单文件和内核不匹配)。
于 2009-01-01T11:08:19.620 回答
6
wchan 在 SCHED_NO_NO_OMIT_FRAME_POINTER 已设置为“y”(这是默认值)的 x86 系统上被破坏。在那些系统中,wchan 将始终返回映射到 _stext 的“0”
于 2010-11-09T15:13:16.110 回答
1
Kiwi - RHEL 的 ps 应该从 /boot/System.map-2.6.18-53.1.14.el5PAE 中获取名单。我希望这已经安装了。如果它工作正常,那么ps axo pid,cmd,wchan
将生成一个进程列表和它们正在等待的内核函数。对我来说,它对于大多数函数来说都是有意义的输出,除了少数——rpc.idmap 和 lockd。几个函数显示“stext”,我仍然想知道这是什么意思。
于 2012-01-07T18:53:26.927 回答