繁体   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