使用psutil模块获取电脑运行信息

  psutil是python的一个用于获取cpu信息的模块,非常好使,以下附上官方的一些example:

  CPU-> Examples

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

>>> 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-> Examples:

?





1

2

3

4

5

>>> 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)

>>>

  Disks-> Examples:

?





1

2

3

4

5

6

7

8

9

10

>>> psutil.disk_partitions()

[sdiskpart(device=‘/dev/sda1‘, mountpoint=‘/‘, fstype=‘ext4‘, opts=‘rw,nosuid‘),

 sdiskpart(device=‘/dev/sda2‘, mountpoint=‘/home‘, fstype=‘ext, opts=‘rw‘)]

>>>

>>> psutil.disk_usage(‘/‘)

sdiskusage(total=21378641920, used=4809781248, free=15482871808, percent=22.5)

>>>

>>> psutil.disk_io_counters(perdisk=False)

sdiskio(read_count=719566, write_count=1082197, read_bytes=18626220032, write_bytes=24081764352, read_time=5023392, write_time=63199568)

>>>

  Networks-> Examples:

?





1

2

3

4

5

6

7

8

9

10

>>> psutil.net_io_counters(pernic=True)

{‘eth0‘: netio(bytes_sent=485291293, bytes_recv=6004858642, packets_sent=3251564, packets_recv=4787798, errin=0, errout=0, dropin=0, dropout=0),

 ‘lo‘: netio(bytes_sent=2838627, bytes_recv=2838627, packets_sent=30567, packets_recv=30567, errin=0, errout=0, dropin=0, dropout=0)}

>>>

>>> psutil.net_connections()

[pconn(fd=115, family=2, type=1, laddr=(‘10.0.0.1‘, 48776), raddr=(‘93.186.135.91‘, 80), status=‘ESTABLISHED‘, pid=1254),

 pconn(fd=117, family=2, type=1, laddr=(‘10.0.0.1‘, 43761), raddr=(‘72.14.234.100‘, 80), status=‘CLOSING‘, pid=2987),

 pconn(fd=-1, family=2, type=1, laddr=(‘10.0.0.1‘, 60759), raddr=(‘72.14.234.104‘, 80), status=‘ESTABLISHED‘, pid=None),

 pconn(fd=-1, family=2, type=1, laddr=(‘10.0.0.1‘, 51314), raddr=(‘72.14.234.83‘, 443), status=‘SYN_SENT‘, pid=None)

 ...]

  Other system info-> Examples:

?





1

2

3

4

5

6

7

>>> psutil.users()

[user(name=‘giampaolo‘, terminal=‘pts/2‘, host=‘localhost‘, started=1340737536.0),

 user(name=‘giampaolo‘, terminal=‘pts/3‘, host=‘localhost‘, started=1340737792.0)]

>>>

>>> psutil.boot_time()

1365519115.0

>>>

  Process Management-> Examples:

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

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

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

>>> import
psutil

>>> psutil.pids()

[1, 2, 3, 4, 5, 6, 7, 46, 48, 50, 51, 178, 182, 222, 223, 224,

 268, 1215, 1216, 1220, 1221, 1243, 1244, 1301, 1601, 2237, 2355,

 2637, 2774, 3932, 4176, 4177, 4185, 4187, 4189, 4225, 4243, 4245,

 4263, 4282, 4306, 4311, 4312, 4313, 4314, 4337, 4339, 4357, 4358,

 4363, 4383, 4395, 4408, 4433, 4443, 4445, 4446, 5167, 5234, 5235,

 5252, 5318, 5424, 5644, 6987, 7054, 7055, 7071]

>>>

>>> p =
psutil.Process(7055)

>>> p.name()

‘python‘

>>> p.exe()

‘/usr/bin/python‘

>>> p.cwd()

‘/home/giampaolo‘

>>> p.cmdline()

[‘/usr/bin/python‘, ‘main.py‘]

>>>

>>> p.status()

‘running‘

>>> p.username()

‘giampaolo‘

>>> p.create_time()

1267551141.5019531

>>> p.terminal()

‘/dev/pts/0‘

>>>

>>> p.uids()

puids(real=1000, effective=1000, saved=1000)

>>> p.gids()

pgids(real=1000, effective=1000, saved=1000)

>>>

>>> p.cpu_times()

pcputimes(user=1.02, system=0.31)

>>> p.cpu_percent(interval=1.0)

12.1

>>> p.cpu_affinity()

[0, 1, 2, 3]

>>> p.cpu_affinity([0])  # set

>>>

>>> p.memory_percent()

0.63423

>>>

>>> p.memory_info()

pmem(rss=7471104, vms=68513792)

>>> p.ext_memory_info()

extmem(rss=9662464, vms=49192960, shared=3612672, text=2564096, lib=0, data=5754880, dirty=0)

>>> p.memory_maps()

[pmmap_grouped(path=‘/lib/x86_64-linux-gnu/libutil-2.15.so‘, rss=16384, anonymous=8192, swap=0),

 pmmap_grouped(path=‘/lib/x86_64-linux-gnu/libc-2.15.so‘, rss=6384, anonymous=15, swap=0),

 pmmap_grouped(path=‘/lib/x86_64-linux-gnu/libcrypto.so.1.0.0‘, rss=34124, anonymous=1245, swap=0),

 pmmap_grouped(path=‘[heap]‘, rss=54653, anonymous=8192, swap=0),

 pmmap_grouped(path=‘[stack]‘, rss=1542, anonymous=166, swap=0),

 ...]

>>>

>>> p.io_counters()

pio(read_count=478001, write_count=59371, read_bytes=700416, write_bytes=69632)

>>>

>>> p.open_files()

[popenfile(path=‘/home/giampaolo/svn/psutil/somefile‘, fd=3)]

>>>

>>> p.connections()

[pconn(fd=115, family=2, type=1, laddr=(‘10.0.0.1‘, 48776), raddr=(‘93.186.135.91‘, 80), status=‘ESTABLISHED‘),

 pconn(fd=117, family=2, type=1, laddr=(‘10.0.0.1‘, 43761), raddr=(‘72.14.234.100‘, 80), status=‘CLOSING‘),

 pconn(fd=119, family=2, type=1, laddr=(‘10.0.0.1‘, 60759), raddr=(‘72.14.234.104‘, 80), status=‘ESTABLISHED‘),

 pconn(fd=123, family=2, type=1, laddr=(‘10.0.0.1‘, 51314), raddr=(‘72.14.234.83‘, 443), status=‘SYN_SENT‘)]

>>>

>>> p.num_threads()

4

>>> p.num_fds()

8

>>> p.threads()

[pthread(id=5234, user_time=22.5, system_time=9.2891),

 pthread(id=5235, user_time=0.0, system_time=0.0),

 pthread(id=5236, user_time=0.0, system_time=0.0),

 pthread(id=5237, user_time=0.0707, system_time=1.1)]

>>>

>>> p.num_ctx_switches()

pctxsw(voluntary=78, involuntary=19)

>>>

>>> p.nice()

0

>>> p.nice(10# set

>>>

>>> p.ionice(psutil.IOPRIO_CLASS_IDLE)  # IO priority (Win and Linux only)

>>> p.ionice()

pionice(ioclass=3, value=0)

>>>

>>> p.rlimit(psutil.RLIMIT_NOFILE, (5, 5))  # set resource limits (Linux only)

>>> p.rlimit(psutil.RLIMIT_NOFILE)

(5, 5)

>>>

>>> p.suspend()

>>> p.resume()

>>>

>>> p.terminate()

>>> p.wait(timeout=3)

0

>>>

>>> psutil.test()

USER         PID %CPU %MEM     VSZ     RSS TTY        START    TIME  COMMAND

root           1 
0.0  0.0   24584   
2240           
Jun17   00:00 
init

root           2 
0.0  0.0       0       0           
Jun17   00:00 
kthreadd

root           3 
0.0  0.0       0       0           
Jun17   00:05 
ksoftirqd/0

...

giampaolo  31475 
0.0  0.0   20760   
3024 /dev/pts/0
Jun19   00:00 
python2.4

giampaolo  31721 
0.0  2.2  773060  181896           
00:04  
10:30 
chrome

root       31763 
0.0  0.0       0       0           
00:05  
00:00 
kworker/0:1

>>>

  好了,完了!

使用psutil模块获取电脑运行信息,布布扣,bubuko.com

时间: 2024-11-05 05:43:43

使用psutil模块获取电脑运行信息的相关文章

python之psutil模块获取系统信息

psuti是一个跨平台,能够轻松实现获取系统运行进程,系统利用率信息,主要用于系统监控,分析和限制系统资源及进程管理. psutil为第三方模块,通过pip安装模块. 获取cpu信息 1.cpu信息2.User Time:执行用户进程的时间百分比3.System Time:执行内核进程和中断的时间百分比4.Wait IO 由于IO等待而使CPU处于idle空闲状态的时间百分比5.Idle,CPU处于idle状态的时间百分比 ######获取cpu的物理个数 >>> psutil.cpu_

psutil模块获取网卡流量

使用python监控系统时,获取网卡流量是比较难搞的,网上找了一个比较好的脚本,分享一下! psutil模块是一个跨平台的获取进程和系统应用情况(CPU,内存,磁盘,网络,传感器)的库.该模块用于系统监控.限制进程资源和运行进程的管理等方面 安装模块psutil pip install psutil 亲测Linux和Windows使用正常 net_traffic.py #!/usr/bin/env python # -*- coding: utf-8 -*- try:     import ps

用C#获取电脑硬件信息

现在我将来解释如何在C#中用WMI(Windows Management Instrumentation)来获取电脑的硬件信息. 我们的目的是用WMI的api在C#下获取电脑的以下信息: 物理处理器的数量 逻辑处理器的数量 位数 系统构架 内核数量 在Visual Studio中创建一个控制台应用程序,并且右击引用然后选择"添加引用",再选择"System.Management". 现在已经通过using语句包括了System.Management,你可以在你的代码

检测硬件的批处理命令,检测硬件bat,一键获取电脑硬件信息

警告:运行BAT源码是一种危险的动作,如果你不熟悉,请不要尝试! 批处理语言: 简体中文 授权方式: 免费软件 运行环境: Windows平台 检测硬件批处理命令.一键获取.直接双击就可以查看 @echo off color 0a title 硬件检测 mode con cols=90 sc config winmgmt start= auto >nul 2<&1 net start winmgmt 2>1nul setlocal ENABLEDELAYEDEXPANSION e

通python的pexpect模块获取集群信息

通过pexpect获取集群主机信息 import pexpect ip = 'xx' cmd = 'xx' ssh = pexpect.spawn('ssh %s  %s'  %(ip,cmd)) r = ssh.read() print r

linux(ubuntu)下为python安装使用mutagen模块获取mp3文件信息包括封面图片的获取

首先是安装 下载地址:    https://pypi.python.org/pypi/mutagen 安装: tar -zxvf mutagen-1.29.tar.gz cd mutagen-1.29 ./setup.py build ./setup.py install 使用: from mutagen.mp3 import MP3, EasyMP3 from mutagen.id3 import EasyID3 from mutagen.id3 import COMM #EasyMP3继承

Java获取 JVM 运行信息

import java.lang.management.ClassLoadingMXBean; import java.lang.management.ManagementFactory; import java.lang.management.MemoryMXBean; import java.lang.management.OperatingSystemMXBean; import java.lang.management.RuntimeMXBean; import java.lang.ma

获取电脑屏幕信息

<html> <script> function a(){ document.write( "屏幕分辨率为:"+screen.width+"*"+screen.height +"<br />"+ "屏幕可用大小:"+screen.availWidth+"*"+screen.availHeight +"<br />"+ "网页可见区

[Python Study Notes] psutil模块

系统性能信息模块psutil psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(CPU,内存,磁盘,网络等)信息,主要应用于系统监控,分析和限制系统资源及进程的管理,它实现了同等命令行工具提供的功能,如ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice等.支持32位,和64位的Linux,Windows,OS X,FreeBSD等操作系统. 获取系统性能信息 1 1 cpu信息 2 #Linux系统cpu利用率有以下几个部分