python模块psutil
psutil是一个跨平台库,能够轻松的获取系统运行的进程和系统利用率等信息,主要用来系统监控,分析和限制系统资源及进程的管理
1安装psutil
pip install psutil
2.获取系统性能信息
2.1 cpu相关信息
In [9]: psutil.cpu_times() percpu=True 可显示cpu完整信息
Out[9]: scputimes(user=271324.62, nice=0.0, system=427118.0, idle=4560010.66)
显示cpu的逻辑个数, logical=False 获取cpu物理个数
In [10]: psutil.cpu_count()
Out[10]: 4
2.2 内存相关信息
In [12]: psutil.virtual_memory() 获取内存
Out[12]: svmem(total=8589934592, available=1753522176, percent=79.6, used=7300272128, free=24858624, active=1803165696, inactive=1728663552, wired=3768442880)
In [13]: psutil.swap_memory() 获取swap
Out[13]: sswap(total=4294967296, used=3049521152, free=1245446144, percent=71.0, sin=80035831808, sout=5820002304)
2.3 磁盘相关信息
In [14]: psutil.disk_partitions() 获取磁盘完整信息
Out[14]:
[sdiskpart(device='/dev/disk0s2', mountpoint='/', fstype='hfs', opts='rw,local,rootfs,dovolfs,journaled,multilabel'),
sdiskpart(device='/dev/disk0s3', mountpoint='/Volumes/Recovery HD', fstype='hfs', opts='rw,local,dovolfs,dontbrowse,journaled,multilabel')]
In [15]: psutil.disk_usage('/') 获取根分区的使用
Out[15]: sdiskusage(total=499248103424, used=158655684608, free=340330274816, percent=31.8)
In [16]: psutil.disk_io_counters() 获取磁盘的总io个数 perdisk=True 获取单个分区的io个数
Out[16]: sdiskio(read_count=8680322, write_count=7139040, read_bytes=168102211584, write_bytes=193271484416, read_time=99373951, write_time=65739995)
2.4 网络相关信息
psutil.net_io_counters() 获取网络总的io信息,pernic=True 输出每个网络接口的io信息
Out[17]: snetio(bytes_sent=10608614400, bytes_recv=17692616704, packets_sent=82676303, packets_recv=59774654, errin=0, errout=0, dropin=0, dropout=0)
2.5 其他系统信息
In [18]: psutil.users() 返回当前登录系统的用户信息
Out[18]:
[suser(name='carlos', terminal='console', host=None, started=1543456384.0, pid=95),
suser(name='carlos', terminal='ttys001', host=None, started=1543832192.0, pid=7707),
suser(name='carlos', terminal='ttys003', host=None, started=1543995648.0, pid=17771),
suser(name='carlos', terminal='ttys002', host=None, started=1543995392.0, pid=17464)]
In [19]: psutil.boot_time() 获取开机时间 以linux时间戳显示
Out[19]: 1543456000.0
\3. 进程管理
3.1进程信息
psutil.pids() 列出所有进程pid
p =psutil.Process(pid) 实例化一个Process对象,参数为PID
p.name() 进程名
p.exe() 进程的bin执行路径
p.cwd() 工作路径
p.status() 进程运行状态
p.create_time() 进程创建时间
p.uids() 进程uid信息
p.gids() 进程gid信息
3.2 popen
popen作用是获取用户启动的应用程序进程信息�程序进程信息
python模块psutil
http://www.jcwit.com/article/336/