[英]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中找到:
/proc/uptime
, /proc/stat
/proc/meminfo
/proc/net/dev
/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.