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.05.93.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 COMMANDroot 1
0.0 0.0 24584
2240
Jun17 00:00
initroot 2
0.0 0.0 0 0
Jun17 00:00
kthreaddroot 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.4giampaolo 31721
0.0 2.2 773060 181896
00:04
10:30
chromeroot 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