社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

推荐一个系统管理员常用的Python工具

运维 • 6 年前 • 736 次点击  

来自公众号:涛哥聊Python 

今天主要给大家带来的一个系统管理员日常用到的一个运维工具,希望大家有收获。

这个工具叫psutil,psutil(process and system utilities)这是一个跨平台库,日常我们都是通过ps,top(htop),ifconfig,kill 这些命令来进行管理查看系统资源等。

有了它之后我们可以更好的进行系统监控,分析和限制系统资源使用,是系统管理员必备工具。

安装:

pip install psutil(权限不够需要加sudo)

 1import 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进行查看其他相关用法,这点我很久就提到过了。


希望大家有所收获!


●编号356,输入编号直达本文

●输入m获取文章目录

推荐↓↓↓

Linux学习

更多推荐25个技术类公众微信

涵盖:程序人生、算法与数据结构、黑客技术与网络安全、大数据技术、前端开发、Java、Python、Web开发、安卓开发、iOS开发、C/C++、.NET、Linux、数据库、运维等。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/37663