首页 > 代码库 > 使用psutil模块获取电脑运行信息
使用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 >>> |
好了,完了!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。