Skip to content

ดึงข้อมูลการทำงานของระบบด้วย psutil

ในการเขียนโปรแกรมบางประเภท เราต้องการข้อมูลการทำงานของระบบ ไม่ว่าจะเป็น CPU, memory, disks, network ในภาษา Python ได้มีการพัฒนาโมดูลสำหรับงานนี้โดยเฉพาะ โมดูลนี้มีชื่อว่า psutil

  psutil เป็นโมดูลสำหรับดึงข้อมูลการทำงานของระบบ ไม่ว่าจะเป็น CPU, memory, disks, network เป็นประโยชน์หลักสำหรับระบบการตรวจสอบ, profiling , การจำกัดกระบวนการและการจัดการทรัพยากร ทำงานโดยฟังก์ชันการทำงานจำนวนมากด้วย command line เช่น ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap   สนับสนุนทั้ง Linux , Windows , OSX , FreeBSD และ Sun Solaris , ทั้งสถาปัตยกรรม 32 บิตและ 64 บิต   รองรับ Python 2.4 - Python 3 และยังรองรับ Pypy อีกด้วย การติดตั้ง psutil ใช้ pip ในการติดตั้งด้วยคำสั่ง

pip install psutil

สำหรับบน Windows ติดตั้งได้โดยโหลดไฟล์ติดตั้งจาก PyPI ตัวอย่างการใช้งาน  psutil CPU

>>> import psutil
>>> psutil.cpu_times()
scputimes(user=3961.46, nice=169.729, system=2150.659, idle=16900.540, iowait=629.59, irq=0.0, softirq=19.42, steal=0.0, guest=0, nice=0.0)
>>>
>>> for x in range(3):
...     psutil.cpu_percent(interval=1)
...
4.0
5.9
3.8
>>>
>>> for x in range(3):
...     psutil.cpu_percent(interval=1, percpu=True)
...
[4.0, 6.9, 3.7, 9.2]
[7.0, 8.5, 2.4, 2.1]
[1.2, 9.0, 9.9, 7.2]
>>>
>>>
>>> for x in range(3):
...     psutil.cpu_times_percent(interval=1, percpu=False)
...
scputimes(user=1.5, nice=0.0, system=0.5, idle=96.5, iowait=1.5, irq=0.0, softirq=0.0, steal=0.0, guest=0.0, guest_nice=0.0)
scputimes(user=1.0, nice=0.0, system=0.0, idle=99.0, iowait=0.0, irq=0.0, softirq=0.0, steal=0.0, guest=0.0, guest_nice=0.0)
scputimes(user=2.0, nice=0.0, system=0.0, idle=98.0, iowait=0.0, irq=0.0, softirq=0.0, steal=0.0, guest=0.0, guest_nice=0.0)
>>>
>>> psutil.cpu_count()
4
>>> psutil.cpu_count(logical=False)
2
>>>

Memory

>>> psutil.virtual_memory()
svmem(total=8374149120L, available=2081050624L, percent=75.1, used=8074080256L, free=300068864L, active=3294920704, inactive=1361616896, buffers=529895424L, cached=1251086336)
>>> psutil.swap_memory()
sswap(total=2097147904L, used=296128512L, free=1801019392L, percent=14.1, sin=304193536, sout=677842944)
>>>

ดูตัวอย่างการนำโมดูล psutil ไปใช้งานเพิ่มเติมได้ที่ https://github.com/giampaolo/psutil อ่านเอกสารการใช้งานโมดูล psutil ได้ที่ http://pythonhosted.org//psutil/ หน้าเว็บโมดูล psutil https://github.com/giampaolo/psutil ติดตามบทความต่อไปนะครับ ขอบคุณครับ

Published on Categories ไม่มีหมวดหมู่

About wannaphong

วรรณพงษ์ ภัททิยไพบูลย์ ผู้ดูแลเว็บ wannaphong.com และผู้เขียนบทความบล็อกนี้ นักศึกษาชั้นปีที่ 1 สาขาวิทยาการคอมพิวเตอร์และสารสนเทศ คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น วิทยาเขตหนองคาย

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *