我得到的内核看上去与通常获得的内核非常不同-大多数线程位于__kernel_vsyscall()中:

  9 process 11334  0xffffe410 in __kernel_vsyscall ()
  8 process 11453  0xffffe410 in __kernel_vsyscall ()
  7 process 11454  0xffffe410 in __kernel_vsyscall ()
  6 process 11455  0xffffe410 in __kernel_vsyscall ()
  5 process 11474  0xffffe410 in __kernel_vsyscall ()
  4 process 11475  0xffffe410 in __kernel_vsyscall ()
  3 process 11476  0xffffe410 in __kernel_vsyscall ()
  2 process 11477  0xffffe410 in __kernel_vsyscall ()
  1 process 11323  0x08220782 in MyClass::myfunc ()

这意味着什么?

编辑:
特别是,我通常会在“pthread_cond_wait”和“___newselect_nocancel”中看到很多线程,而现在它们在每个线程的第二帧中-为什么这个核心有所不同?

最佳答案

__kernel_vsyscal是linux-gate.so(Linux内核的一部分)用来使用最快的可用方法(最好是sysenter指令)进行系统调用的方法。 Johan Petersson可以正确解释该内容。

关于c++ - 什么是__kernel_vsyscall?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/344829/

10-16 19:58