从 Golang 中的 /proc/meminfo 中提取内存和交换信息

php小编草莓今天给大家介绍一个非常实用的方法,即从Golang中的/proc/meminfo中提取内存和交换信息。在Golang开发过程中,我们经常需要获取系统的内存和交换信息,以便进行一些性能优化或者资源管理的操作。而/proc/meminfo是一个保存了系统内存和交换信息的文件,我们可以通过读取该文件来获取所需的信息。接下来,我将为大家详细介绍如何使用Golang来提取/proc/meminfo中的内存和交换信息,希望对大家有所帮助。,我想从 golang 中的 /proc/meminfo 中提取 memtotal、memfree、memavailable、swaptotal 和 swapfree 的值。到目前为止,我得到的最接近的是使用 fmt.sscanf() ,它将一次给出我想要的值,但我也得到了许多带有零的输出行。这是我正在使用的代码:,这给了我以下结果:,所以第一个问题,有没有办法将结果限制为我想要的一个值(非零)?或者,有没有更好的方法来解决这个问题?,我的 /proc/meminfo 文件如下所示:,注意,s.Scan() 逐行读取输入。如果某行与给 fmt.Sscanf 的格式字符串不匹配,则程序将输出 0 作为 var n int 在循环内声明。我的建议是检查 fmt.Sscanf` 返回的第一个结果,即匹配的项目数。因此,如果第一个结果是 1,则表示有匹配项并且可以输出该值。请参阅此处的工作示例:https://www.php.cn/link/25d0a45ccd9e33b6b1ef8760801b6841 p>,编辑:我试图尽可能接近您的代码。可能还会存在其他问题,因为所使用的测量单位可能会根据 手册页。但是,如果系统上的相关值始终以“kB”为单位输出,那么它对于您的用例来说可能已经足够了。,
返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册