你们周末好,今天的第二篇原创文章来了。今天主要给你们带来的一个系统管理员平常用到的一个运维工具,但愿你们有收获。python
这个工具叫psutil,psutil(process and system utilities)这是一个跨平台库,平常咱们都是经过ps,top(htop),ifconfig,kill 这些命令来进行管理查看系统资源等。docker
有了它以后咱们能够更好的进行系统监控,分析和限制系统资源使用,是系统管理员必备工具。apache
安装:bash
pip install psutil(权限不够须要加sudo)
服务器
1> import psutil 2> psutil.cpu_count() # 获取CPU逻辑个数 31 4> psutil.cpu_count(logical=False) # CPU物理个数 5> mem = psutil.virtual_memory() # 获取内存信息 6> mem.total 72097369088 # 能够看到性能有点差 8> mem.free # 获取空闲内存数 916676044810> psutil.disk_partitions() # 获取磁盘信息11[sdiskpart(device='/dev/vda1', mountpoint='/', fstype='ext4', opts='rw,relatime,errors=remount-ro,stripe=32639,data=ordered'),12 sdiskpart(device='/dev/vda1', mountpoint='/var/lib/docker/aufs', fstype='ext4', opts='rw,relatime,errors=remount-ro,stripe=32639,data=ordered')]13> psutil.pids() # 获取全部进程ID14> pp = psuitl.Process(32470).name() # 获取进程名字15'apache2'16> 复制代码
psutil除了上面提到的CPU,内存,磁盘,进程等,其实还有网络,用户登陆,开机时间等信息。网络
咱们获取到这些信息以后就能够作一个简易的服务器内存监控,不用像以前须要用到stastsd+promeuthus或graphite+grafana等全套工具进行大规模监控系统服务及API的数据了。运维
能够参考往期文章牛逼了| 从0到1 搭建Web性能监控系统工具
最后你们也能够经过ipython
进行查看其余相关用法,这点我好久就提到过了。性能
但愿你们有所收获,周末愉快!ui
往期文章