LoginSignup
0
0

More than 5 years have passed since last update.

Goでサーバリソース情報を取得する

Last updated at Posted at 2019-01-12

やること

Goでリソースを取得してみる。今回は以下のライブラリを利用しました。

ソースコード

main.go
package main

import (
    "fmt"
    "github.com/cloudfoundry/gosigar"
)

// MB
func format(val uint64) uint64 {
    return val / 1024 / 1024
}

func main(){
    uptime := sigar.Uptime{}
    uptime.Get()

    // UPTIME
    fmt.Printf("Uptime: %s \n", uptime.Format())

    avg := sigar.LoadAverage{}
    avg.Get()


    // Load Average
    fmt.Printf("Load Average %.2f, %.2f \n", avg.One, avg.Five)

    mem := sigar.Mem{}
    mem.Get()

    // Memory Used[MB]
    fmt.Printf("Memory[MB] total=%d, used=%d, free=%d \n", format(mem.Total), format(mem.Used), format(mem.Free))

}
  • 実行結果
Uptime: 15 days, 14:05
Load Average 2.09, 2.49
Memory[MB] total=8192, used=8112, free=79

まとめ

cloudfoundry/gosigar のライブラリを利用して、システムリソース情報を取得してみました。
次は、このライブラリを利用せずにシステムリソースを取得するコードを書いていきたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0