簡體   English   中英

用於檢查有關CPU,內存,網絡,NAT表使用情況的信息的API

[英]API to check information about CPU, memory, network, NAT table usage

我正在開發嵌入式Linux系統(2.6內核和uclibc),我需要檢查cpu,內存,網絡,NAT表的使用情況等。

我應該使用哪個API? 我在哪里可以查看? 我已經訪問了一些有關Linux內核API的網站,但沒有找到任何有關它的直接信息。 有什么建議或建議嗎?

我的程序是用uclibc和gcc 3.4.6用C編寫的

謝謝

您所需要的所有信息(甚至更多)都可以在procfs中找到:

  • CPU: /proc/uptime/proc/stat
  • 內存: /proc/meminfo
  • 網絡: /proc/net/dev
  • NAT: /proc/net/ip_conntrack

順便說一句:GCC 3.4.6確實已經過時了。 當前最舊的維護版本是4.4; 如果可能,我建議升級。 Buildroot將為您自動化許多過程。

proc文件系統是相當理想的:它是一個虛擬文件系統,其中的所有內容實際上都是在讀取時創建的。 因此,如果沒有人閱讀信息,則不會生成信息。

基於文本文件的界面的優點在於,它既是人類可讀的又是機器可讀的。 其次,沒有任何局限性問題之類的東西-在整個體系結構中效果更好。 與運行ioctls相比,后者是針對包括V4L和ALSA在內的一些子系統完成的,它的優點在於它也是編譯器(例如,#pragma pack)和ABI獨立的-如果您喜歡恐怖的故事,請向ARM開發人員詢問有關OABI向EABI的更改...

請注意,procfs和sysfs的內容被視為穩定內核接口的一部分,不允許開發人員隨意更改任何內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM