大家周末好,今天的第二篇原创文章来了。今天主要给大家带来的一个系统管理员日常用到的一个运维工具,希望大家有收获。
这个工具叫psutil,psutil(process and system utilities)这是一个跨平台库,日常我们都是通过ps,top(htop),ifconfig,kill 这些命令来进行管理查看系统资源等。
有了它之后我们可以更好的进行系统监控,分析和限制系统资源使用,是系统管理员必备工具。
安装:
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 # 获取空闲内存数 9166760448 10> 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() # 获取所有进程ID 14> pp = psuitl.Process(32470).name() # 获取进程名字 15'apache2' 16>
psutil除了上面提到的CPU,内存,磁盘,进程等,其实还有网络,用户登录,开机时间等信息。
我们获取到这些信息之后就可以做一个简易的服务器内存监控,不用像之前需要用到stastsd+promeuthus或graphite+grafana等全套工具进行大规模监控系统服务及API的数据了。
可以参考往期文章牛逼了| 从0到1 搭建Web性能监控系统
最后大家也可以通过ipython
进行查看其他相关用法,这点我很久就提到过了。
希望大家有所收获,周末愉快!