我需要編寫一個在Linux機器上獲取性能統計信息的應用程序。不幸的是,這個環境內存限制很大,所以使用標準的命令行工具並不是一個真正的選擇,因爲我需要頻繁地對它們進行輪詢。直接從Linux內核訪問系統性能數據
理想情況下,我希望能夠做的是直接從內核獲取性能數據,使用相同的緩衝區和數據來儘可能地減少我的應用程序的RAM需求。將我的應用程序緊密捆綁到Linux內核上並不是真正的問題,我們只有在生產中使用過Linux,而且我看不到真的發生了變化。
我花了最後一兩天看內核源代碼,但我不得不承認有些失落。任何人都可以將我指向正確的位置,以獲取CPU性能信息/ I/O性能信息/網絡性能信息和帶寬使用信息嗎?
如果一個命令行工具可以訪問這些信息,那麼你也可以訪問它,而不必進入內核。您大概可以閱讀您最喜愛的命令行工具的來源,以瞭解它的工作原理。除非有很好的理由,否則不要試圖「活在內核中」。 – nneonneo
看看[Perf](https://perf.wiki.kernel.org/index.php/Main_Page),它可能會有用。 – Eugene