Go での CPU 使用率の決定
この質問では、システムとシステムの両方の現在の CPU 使用率を取得するためのソリューションを提供することを目的としています。 Go プログラムのユーザー プロセス。
これを実現するには、goprocinfo パッケージを利用することをお勧めします。 (https://github.com/c9s/goprocinfo)。このパッケージは、CPU 統計を含むシステム メトリクスの解析プロセスを簡素化します。
実装:
CPU 使用率データを取得するには、次の手順に従います:
linuxproc をインポートするpackage:
import "github.com/c9s/goprocinfo/linuxproc"
/proc/stat からシステム統計を読み取ります:
stat, err := linuxproc.ReadStat("/proc/stat") if err != nil { // Handle error }
stat.CPUStats スライスを反復処理します。
for _, s := range stat.CPUStats { // s.User: CPU time spent in user space (in nanoseconds) // s.Nice: CPU time spent in user space with low priority (in nanoseconds) // s.System: CPU time spent in kernel space (in nanoseconds) // s.Idle: CPU time spent in idle state (in nanoseconds) // s.IOWait: CPU time spent waiting for I/O completion (in nanoseconds) }
これらにアクセスすると値を使用すると、ユーザー プロセスとシステム プロセスの両方の CPU 使用率を計算できます。
以上がGo で CPU 使用率を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。