Psutil-実行中のプロセスとシステム使用率情報をFectchするライブラリ

PsutilはPythonベースのライブラリであり、コンピュータシステムのリソースを監視するためのインターフェイスを提供します。 このユーティリティとその利用可能なAPIを使用して、現在実行中のプロセス、メモリ、ネットワーク、ディスクの使用量などのリソース消費に関するすべての詳細を確認できます。これは、Linux、MicrosoftWindowsなどの一般的なすべてのオペレーティングシステムで動作するクロスプラットフォームアプリケーションです。 、MacOS、およびFreeBSD。 現在、システムプロセスを監視するためにさまざまなユーティリティ/コマンドを使用している可能性がありますが、Psutilは、top、ps、netstat、lsof、dfなどのコマンドの機能を1か所にまとめています。 32ビットシステムと64ビットシステムの両方で動作し、非常に最適化されたライブラリです。 可能な限り最も効率的な方法を使用して、必要なシステム情報を収集します。 このチュートリアルでは、このユーティリティのインストールと使用プロセスを学習します。 プログラミングまたはシステムスクリプトのバックグラウンドがある場合は、このユーティリティの動作を非常に簡単に学ぶことができるはずです。 一杯のコーヒーを手に入れて始めましょう:-)

Ubuntu 16.10 /16.04にPsutilをインストールする方法

デモンストレーションのために、Ubuntu最新リリース16.10を使用して、このライブラリをインストールして使用方法を示します。 同じ手順のセットは、UbuntuおよびDebianベースのシステムの古いバージョンでも機能するはずです。 このライブラリをインストールする最も簡単な方法は、pipを使用することです。 システム端末で次のコマンドを実行して、pipユーティリティをインストールします。

sudo apt install python-pip

pipがインストールされたら、次のコマンドを実行してpsutilをインストールします。

sudo pip install psutil

おめでとう! これで、Psutilが正常にインストールされました。 先に進んで、そのいくつかを見ていきます example を使用します。

Psutilの使用方法

まず、システム端末でPythonコマンドを実行する方法を理解しましょう。 Pythonはネイティブシェルを提供します。「python」コマンドを実行するだけで、Python関連のコマンドを実行できるシェルに移動します。 次のスクリーンショットは、この点をさらに示しています。

これで、このシェルでPsutilライブラリに関連するすべてのコマンドを実行します。

CPU使用率をパーセンテージで見つけるには、Pythonコンソールで次の2つのコマンドを実行する必要があります。 最初のコマンドはpsutilライブラリをインポートし、次のコマンドはCPUの現在の消費量の値をパーセンテージで返すために使用されます。

import psutil
psutil.cpu_percent(interval=1)

次のスクリーンショットは、この概念をさらに明確にする必要があります。

次のコマンドは、LinuxシステムのCPUの総数を返します。 含まれています example 以下にも出力します。

psutil.cpu_count()

>> psutil.cpu_count()
1

CPU周波数パラメーターの値を確認する場合は、Pythonシェルで次のコマンドを使用します。

psutil.cpu_freq()

システムの仮想メモリ消費量を監視するには、コンソールで次のコマンドを使用します。

import psutil
mem = psutil.virtual_memory()
mem

上記のスニペットの出力例を次に示します。

aun@ubuntu:~$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import psutil
>>> mem = psutil.virtual_memory()
>>> mem
svmem(total=1022431232, available=315588608, percent=69.1, used=689242112, free=26132480, active=370671616, inactive=366432256, buffers=17944576, cached=289112064, shared=2854912)
>>>

スワップメモリ​​の消費量を表示するには、コンソールで「psutil.swap_memory()」関数を使用します。

>> psutil.swap_memory()
sswap(total=1071640576, used=137801728, free=933838848, percent=12.9, sin=14856192, sout=146563072)

Psutilを使用してディスク関連の操作を実行してみましょう。 次のコードスニペットを実行して、システムのハードディスクのパーティションについて調べます。

 import psutil
psutil.disk_partitions()

出力例:

>>> import psutil
>>> psutil.disk_partitions()

[sdiskpart(device=”/dev/sda1″, mountpoint=”/”, fstype=”ext4″, opts=”rw,relatime,errors=remount-ro,data=ordered”)]

>>>

次のスニペットは、システムのルートパーティションでの現在のディスク消費量を示します。

import psutil
psutil.disk_usage('/')

出力例:

> import psutil
>>> psutil.disk_usage('/')
sdiskusage(total=19945680896, used=4598263808, free=14310637568, percent=24.3)
>>>

Psutilは、システムのハードウェアコンポーネントを監視するのにも適しています。 にとって example、次のパラメータを使用して、システムのハードウェア温度センサーの詳細を確認できます。

psutil.sensors_temperatures()

次のように出力が表示されます。この出力をさらに使用できます。 bash または、あらゆる種類のトリガーを生成するためのプログラミングスクリプト。

>>> psutil.sensors_temperatures()
{'coretemp': [shwtemp(label="Physical id 0", current=100.0, high=100.0, critical=100.0), shwtemp(label="Core 0", current=100.0, high=100.0, critical=100.0)]}

実行中のプロセスの詳細を確認する方法についてもう少し学びましょう。次のコマンドは、Linuxシステムで現在実行中のプロセスのプロセスID(PID)を表示します。

import psutil
psutil.pids()

ここは example このコマンドの出力:

>> import psutil
>>> psutil.pids()
[1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 28, 29, 30, 31, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 95, 96, 144, 145, 146, 147, 148, 149, 150, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, ......]

psutil.pid_exists(pid)は、指定されたIDを持つプロセスが存在するかどうかを識別するために使用されるさらに別のコマンドです。 同様に、システムプロセスから目的の出力を導出するのに非常に役立つ他の多くの機能もあります。

Psutilは非常に便利なユーティリティであり、システムを適切に監視するために使用できる多数の関数/ APIを提供します。 現在4600を超えるオープンソースプロジェクトがバックエンドでPsutilを利用して、多くのシステムリソース監視タスクを実行していることを知って驚かれることでしょう。

Psutilは他の多くの言語にも移植されており、注目に値するのはRuby、C、Go、Node、Rustです。 その移植性についての完全な詳細はで見つけることができます Github

この記事を楽しんでいただければ幸いです。Psutilには提供できるものがたくさんあります。システムパフォーマンスを向上させるために日常的に使用できる多くのエキサイティングな関数/ APIを見つけることができるはずです。 ご質問やご意見がございましたら、記事のコメントセクションでお気軽にお知らせください。