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

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

php小编草莓今天给大家介绍一个非常实用的方法,即从Golang中的/proc/meminfo中提取内存和交换信息。在Golang开发过程中,我们经常需要获取系统的内存和交换信息,以便进行一些性能优化或者资源管理的操作。而/proc/meminfo是一个保存了系统内存和交换信息的文件,我们可以通过读取该文件来获取所需的信息。接下来,我将为大家详细介绍如何使用Golang来提取/proc/meminfo中的内存和交换信息,希望对大家有所帮助。

问题内容

我想从 golang 中的 /proc/meminfo 中提取 memtotal、memfree、memavailable、swaptotal 和 swapfree 的值。到目前为止,我得到的最接近的是使用 fmt.sscanf() ,它将一次给出我想要的值,但我也得到了许多带有零的输出行。这是我正在使用的代码:

package main import ( "bufio" "fmt" "os" ) func main() { f, e := os.open("/proc/meminfo") if e != nil { panic(e) } defer f.close() s := bufio.newscanner(f) for s.scan() { var n int fmt.sscanf(s.text(), "memfree: %d kb", &n) fmt.println(n) } }登录后复制