我得到的内核看上去与通常获得的内核非常不同-大多数线程位于__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/