1
在多核RHEL6上,在死循環中有一個FIFO實時進程,因此它佔用了核心上的所有CPU資源(進程綁定到核心)。但是,其他內核相當不錯。爲什麼一個Linux進程太忙要掛接(ptrace左右)?
此時,死循環過程的pstack未能打印任何東西。同時,任何其他進程的pstack都可以正常運行。
任何人都可以請幫助讓我知道爲什麼嗎?
謝謝!
在多核RHEL6上,在死循環中有一個FIFO實時進程,因此它佔用了核心上的所有CPU資源(進程綁定到核心)。但是,其他內核相當不錯。爲什麼一個Linux進程太忙要掛接(ptrace左右)?
此時,死循環過程的pstack未能打印任何東西。同時,任何其他進程的pstack都可以正常運行。
任何人都可以請幫助讓我知道爲什麼嗎?
謝謝!
嘗試這種方式,把debuger命令與使用taskset -c corenumber /路徑/命令自由核心,在此之後嘗試改變你的調試過程中的FIFO調度類使用CHRT命令
我想你發現這個問題,因爲fifo進程不能被正常進程攔截
剛剛按照你的說法試過,但似乎調試器仍然無法捕獲堆棧跟蹤。 我的「測試」程序是FIFO優先級1.我的調試器是FIFO優先級99.結果看起來是一樣的。 但是,當我試圖將shell鎖定到空閒內核時,它似乎正在工作 - 即使沒有提高調試器的優先級。 :-) 現在的問題是爲什麼一個「鎖定」核心會阻止一個浮動進程?真的很奇怪,因爲免費核心使用了0%的CPU。 謝謝! –