gpt4 book ai didi

linux - 如何从头开始收集系统统计信息?

转载 作者:太空宇宙 更新时间:2023-11-04 10:47:21 24 4
gpt4 key购买 nike

我想获得一些系统统计数据。我知道我可以使用 collectd,但我这样做是为了娱乐和学习。我会通过检查 /proc/:id 中文件的内容,最终通过解析某些命令(如 netstat)的结果来实现。我只是想每 1 秒检查一次文件或命令输出的内容——因为我想对系统有详细的了解。这样的方法可以吗,或者它会减慢和错误的基准测试?

最佳答案

如果这是为了娱乐和学习,您将通过自己解析/proc 获得更多乐趣并学到更多东西。另一个反对解析命令输出的论据是,根据我的经验,对于生产代码,这不是你的情况,它可能不可靠(即取决于工具的版本和 LOCALE)。

您可以通过研究现有工具的实现来学习。 Busybox 版本(如果存在)比完整版更简单。

busybox的route是这样解析/proc/net/route的:

http://git.busybox.net/busybox/tree/networking/route.c#n516

netstat 复杂得多,这不足为奇。

http://git.busybox.net/busybox/tree/networking/netstat.c

...虽然有时候,这不能通过解析 /proc 文件来完成。以下是 ifconfig 如何使用 IO 控件获取有关接口(interface)的一些信息:

http://git.busybox.net/busybox/tree/networking/interface.c#n607

方法好吗?

是的。

或者它会减慢和错误的基准?

好吧,这是反对解析现有命令输出的第三个论据:您越接近信息源,就越是最新的。使用快速语言也有帮助。如果你迟到几秒钟,这真的很重要吗?由你决定。如果这只是为了显示一些信息,那么到目前为止,路径中最慢的元素将是人脑读取结果并从中做出决定。

关于linux - 如何从头开始收集系统统计信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32529449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com