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
原文地址:http://www.cnblogs.com/luomingchuan/p/3777269.html