A process and system utilities module for Python
Project description
Quick links
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, FreeBSD, Sun Solaris 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, 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] [7.0, 8.5] [1.2, 9.0] >>> >>> for x in range(3): ... psutil.cpu_times_percent(interval=1, percpu=False) ... cpupercent(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) cpupercent(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) cpupercent(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)
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.net_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)} >>>
Other system info
>>> 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)] >>> >>> psutil.get_boot_time() 1365519115.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, laddr=('10.0.0.1', 48776), raddr=('93.186.135.91', 80), status='ESTABLISHED'), connection(fd=117, family=2, type=1, laddr=('10.0.0.1', 43761), raddr=('72.14.234.100', 80), status='CLOSING'), connection(fd=119, family=2, type=1, laddr=('10.0.0.1', 60759), raddr=('72.14.234.104', 80), status='ESTABLISHED'), connection(fd=123, family=2, type=1, laddr=('10.0.0.1', 51314), raddr=('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 >>>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file psutil-1.0.0.tar.gz
.
File metadata
- Download URL: psutil-1.0.0.tar.gz
- Upload date:
- Size: 156.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | af776ebeaf2420709b1ab741f664c048dcfc2890e3e7d151ae868fbdc3d47920 |
|
MD5 | d68e3a779f5b9b5a779d76a9c5cd5244 |
|
BLAKE2b-256 | ed7edd4062bfbe9b735793a5e63a38d83ba37292c4ada3615fe54403c54e3260 |
File details
Details for the file psutil-1.0.0.win-amd64-py3.4.exe
.
File metadata
- Download URL: psutil-1.0.0.win-amd64-py3.4.exe
- Upload date:
- Size: 326.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef6974ac18407fb15430cd7b81aecc2f3666e75ca83fe3a66848c4c5c086e0a3 |
|
MD5 | 3cd7194ee73326a619990dbc3cc78025 |
|
BLAKE2b-256 | 5bc1003f0071d1e2a4dfe12ac2d66ac14f5a5a93049544c11ac9c78d83d85318 |
File details
Details for the file psutil-1.0.0.win-amd64-py3.3.exe
.
File metadata
- Download URL: psutil-1.0.0.win-amd64-py3.3.exe
- Upload date:
- Size: 326.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cdced3409a241b9d357b82c72d00ece49602cdc3f694ed988a952761367df560 |
|
MD5 | 537d6174661d82af7912c0f1a5245a8f |
|
BLAKE2b-256 | 03a4aa6592e676f75705b77df8e319f6aa35cf08a662fb0cfaa34434d273d7c9 |
File details
Details for the file psutil-1.0.0.win-amd64-py2.7.exe
.
File metadata
- Download URL: psutil-1.0.0.win-amd64-py2.7.exe
- Upload date:
- Size: 327.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7868ef2ecc1d847620d99b40f8105b6d5303784abbde34da2388b2c18e73a3d2 |
|
MD5 | 3d366d6ce5e2d2f997b91c049aba4865 |
|
BLAKE2b-256 | 11468a6581c14d644f747ea66a12c60ffebebd4f8a77af62192aeb20cc16ae17 |
File details
Details for the file psutil-1.0.0.win32-py3.4.exe
.
File metadata
- Download URL: psutil-1.0.0.win32-py3.4.exe
- Upload date:
- Size: 291.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 191c2e6953426c861d7e100d48a5b522307ffc3de7d9e7bc8509aa45fb3de60c |
|
MD5 | b7c0711ac32a46df0eb197b132b16442 |
|
BLAKE2b-256 | 0a5018ebd254b6662c98a8310983fff6795c7ac303d25188fd727888ca1c5211 |
File details
Details for the file psutil-1.0.0.win32-py3.3.exe
.
File metadata
- Download URL: psutil-1.0.0.win32-py3.3.exe
- Upload date:
- Size: 291.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | acf6cbc2408869b2843d406a802b6895969a358c762b5ab3e6f5afdd0c918faf |
|
MD5 | 0adc4d10d63247edc780ecae82abbc40 |
|
BLAKE2b-256 | 5bf70bad3fc8ff5f226fa933a847b5fb3355562421f0456348747cf18f7137f5 |
File details
Details for the file psutil-1.0.0.win32-py2.7.exe
.
File metadata
- Download URL: psutil-1.0.0.win32-py2.7.exe
- Upload date:
- Size: 296.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f311d4f060b83d7cd0068dbad867ad17e699d3c335e494dc31db5380154fdf4 |
|
MD5 | a96dea346d481c971c4ea191bf7c1348 |
|
BLAKE2b-256 | 994e8c1f5db3e90dbdbde891c34fd2496805a93aa279433bac716098efad1b4c |
File details
Details for the file psutil-1.0.0.win32-py2.6.exe
.
File metadata
- Download URL: psutil-1.0.0.win32-py2.6.exe
- Upload date:
- Size: 297.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7571d74d351bba723b28666a13da43c07bb3568543be3f9f7404af2b8c1ecf3a |
|
MD5 | 7024e5ffe30cb876ae1a5bbcc776b189 |
|
BLAKE2b-256 | ad8c37599876ea078c7c2db10d746f0e0aa805abcacbab96d1cf5dfb0465c40b |
File details
Details for the file psutil-1.0.0.win32-py2.5.exe
.
File metadata
- Download URL: psutil-1.0.0.win32-py2.5.exe
- Upload date:
- Size: 165.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8213feaa4c560c61514cea4e6a7eec83f6df83694bb97b06d009e919f60c48f |
|
MD5 | 126880ad97179e02ff95edea3d17f224 |
|
BLAKE2b-256 | d6285753ba13863c26d8a8fef685690b539a4652f1c4929d13d482eb4d691d99 |