зеркало из https://github.com/mozilla/gecko-dev.git
209 строки
6.0 KiB
Plaintext
209 строки
6.0 KiB
Plaintext
|
===========
|
||
|
Quick links
|
||
|
===========
|
||
|
|
||
|
* `Home page <http://code.google.com/p/psutil>`_
|
||
|
* `Download <http://code.google.com/p/psutil/downloads/list>`_
|
||
|
* `Documentation <http://code.google.com/p/psutil/wiki/Documentation>`_
|
||
|
|
||
|
=======
|
||
|
Summary
|
||
|
=======
|
||
|
|
||
|
psutil is a module providing an interface for retrieving information on all
|
||
|
running processes and system utilization (CPU, memory, disks, network, users) in
|
||
|
a portable way by using Python, implementing many functionalities offered by
|
||
|
command line tools such as: **ps, top, df, kill, free, lsof, free, netstat,
|
||
|
ifconfig, nice, ionice, iostat, iotop, uptime, pidof, tty, who, taskset, pmap**.
|
||
|
|
||
|
It currently supports **Linux**, **Windows**, **OSX** and **FreeBSD** both
|
||
|
**32-bit** and **64-bit** with Python versions from **2.4** to **3.3** by using
|
||
|
a single code base.
|
||
|
|
||
|
==============
|
||
|
Example usages
|
||
|
==============
|
||
|
|
||
|
CPU
|
||
|
===
|
||
|
|
||
|
>>> import psutil
|
||
|
>>> psutil.cpu_times()
|
||
|
cputimes(user=3961.46, nice=169.729, system=2150.659, idle=16900.540,
|
||
|
iowait=629.509, irq=0.0, softirq=19.422)
|
||
|
>>>
|
||
|
>>> 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]
|
||
|
[7.0, 8.5]
|
||
|
[1.2, 9.0]
|
||
|
>>>
|
||
|
|
||
|
|
||
|
Memory
|
||
|
======
|
||
|
|
||
|
>>> psutil.virtual_memory()
|
||
|
vmem(total=8374149120L, available=2081050624L, percent=75.1, used=8074080256L,
|
||
|
free=300068864L, active=3294920704, inactive=1361616896, buffers=529895424L,
|
||
|
cached=1251086336)
|
||
|
>>> psutil.swap_memory()
|
||
|
swap(total=2097147904L, used=296128512L, free=1801019392L, percent=14.1,
|
||
|
sin=304193536, sout=677842944)
|
||
|
>>>
|
||
|
|
||
|
|
||
|
Disks
|
||
|
=====
|
||
|
|
||
|
>>> psutil.disk_partitions()
|
||
|
[partition(device='/dev/sda1', mountpoint='/', fstype='ext4', opts='rw,nosuid'),
|
||
|
partition(device='/dev/sda2', mountpoint='/home', fstype='ext, opts='rw')]
|
||
|
>>>
|
||
|
>>> psutil.disk_usage('/')
|
||
|
usage(total=21378641920, used=4809781248, free=15482871808, percent=22.5)
|
||
|
>>>
|
||
|
>>> psutil.disk_io_counters()
|
||
|
iostat(read_count=719566, write_count=1082197, read_bytes=18626220032,
|
||
|
write_bytes=24081764352, read_time=5023392, write_time=63199568)
|
||
|
>>>
|
||
|
|
||
|
|
||
|
Network
|
||
|
=======
|
||
|
|
||
|
>>> psutil.network_io_counters(pernic=True)
|
||
|
{'lo': iostat(bytes_sent=799953745, bytes_recv=799953745,
|
||
|
packets_sent=453698, packets_recv=453698),
|
||
|
'eth0': iostat(bytes_sent=734324837, bytes_recv=4163935363,
|
||
|
packets_sent=3605828, packets_recv=4096685)}
|
||
|
>>>
|
||
|
|
||
|
|
||
|
Users
|
||
|
=====
|
||
|
|
||
|
>>> psutil.get_users()
|
||
|
[user(name='giampaolo', terminal='pts/2', host='localhost', started=1340737536.0),
|
||
|
user(name='giampaolo', terminal='pts/3', host='localhost', started=1340737792.0)]
|
||
|
>>>
|
||
|
|
||
|
|
||
|
Process management
|
||
|
==================
|
||
|
|
||
|
>>> import psutil
|
||
|
>>> psutil.get_pid_list()
|
||
|
[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.getcwd()
|
||
|
'/home/giampaolo'
|
||
|
>>> p.cmdline
|
||
|
['/usr/bin/python', 'main.py']
|
||
|
>>>
|
||
|
>>> str(p.status)
|
||
|
'running'
|
||
|
>>> p.username
|
||
|
'giampaolo'
|
||
|
>>> p.create_time
|
||
|
1267551141.5019531
|
||
|
>>> p.terminal
|
||
|
'/dev/pts/0'
|
||
|
>>>
|
||
|
>>> p.uids
|
||
|
user(real=1000, effective=1000, saved=1000)
|
||
|
>>> p.gids
|
||
|
group(real=1000, effective=1000, saved=1000)
|
||
|
>>>
|
||
|
>>> p.get_cpu_times()
|
||
|
cputimes(user=1.02, system=0.31)
|
||
|
>>> p.get_cpu_percent(interval=1.0)
|
||
|
12.1
|
||
|
>>> p.get_cpu_affinity()
|
||
|
[0, 1, 2, 3]
|
||
|
>>> p.set_cpu_affinity([0])
|
||
|
>>>
|
||
|
>>> p.get_memory_percent()
|
||
|
0.63423
|
||
|
>>>
|
||
|
>>> p.get_memory_info()
|
||
|
meminfo(rss=7471104, vms=68513792)
|
||
|
>>> p.get_ext_memory_info()
|
||
|
meminfo(rss=9662464, vms=49192960, shared=3612672, text=2564096, lib=0, data=5754880, dirty=0)
|
||
|
>>> p.get_memory_maps()
|
||
|
[mmap(path='/lib/x86_64-linux-gnu/libutil-2.15.so', rss=16384, anonymous=8192, swap=0),
|
||
|
mmap(path='/lib/x86_64-linux-gnu/libc-2.15.so', rss=6384, anonymous=15, swap=0),
|
||
|
mmap(path='/lib/x86_64-linux-gnu/libcrypto.so.1.0.0', rss=34124, anonymous=1245, swap=0),
|
||
|
mmap(path='[heap]', rss=54653, anonymous=8192, swap=0),
|
||
|
mmap(path='[stack]', rss=1542, anonymous=166, swap=0),
|
||
|
...]
|
||
|
>>>
|
||
|
>>> p.get_io_counters()
|
||
|
io(read_count=478001, write_count=59371, read_bytes=700416, write_bytes=69632)
|
||
|
>>>
|
||
|
>>> p.get_open_files()
|
||
|
[openfile(path='/home/giampaolo/svn/psutil/somefile', fd=3)]
|
||
|
>>>
|
||
|
>>> p.get_connections()
|
||
|
[connection(fd=115, family=2, type=1, local_address=('10.0.0.1', 48776),
|
||
|
remote_address=('93.186.135.91', 80), status='ESTABLISHED'),
|
||
|
connection(fd=117, family=2, type=1, local_address=('10.0.0.1', 43761),
|
||
|
remote_address=('72.14.234.100', 80), status='CLOSING'),
|
||
|
connection(fd=119, family=2, type=1, local_address=('10.0.0.1', 60759),
|
||
|
remote_address=('72.14.234.104', 80), status='ESTABLISHED'),
|
||
|
connection(fd=123, family=2, type=1, local_address=('10.0.0.1', 51314),
|
||
|
remote_address=('72.14.234.83', 443), status='SYN_SENT')]
|
||
|
>>>
|
||
|
>>> p.get_num_threads()
|
||
|
4
|
||
|
>>> p.get_num_fds()
|
||
|
8
|
||
|
>>> p.get_threads()
|
||
|
[thread(id=5234, user_time=22.5, system_time=9.2891),
|
||
|
thread(id=5235, user_time=0.0, system_time=0.0),
|
||
|
thread(id=5236, user_time=0.0, system_time=0.0),
|
||
|
thread(id=5237, user_time=0.0707, system_time=1.1)]
|
||
|
>>>
|
||
|
>>> p.get_num_ctx_switches()
|
||
|
amount(voluntary=78, involuntary=19)
|
||
|
>>>
|
||
|
>>> p.get_nice()
|
||
|
0
|
||
|
>>> p.set_nice(10)
|
||
|
>>>
|
||
|
>>> 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
|
||
|
>>>
|