Psutil

来自linux中国网wiki
Evan讨论 | 贡献2021年7月18日 (日) 07:03的版本 (创建页面,内容为“ <pre> #查看系统硬件脚本 #!/usr/bin/python3 #coding:utf-8 import psutil import datetime import time # 当前时间 now_time = time.strftime('%Y-%m-%d-%H:%…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索
#查看系统硬件脚本

#!/usr/bin/python3
#coding:utf-8

import psutil
import datetime
import time

# 当前时间
now_time = time.strftime('%Y-%m-%d-%H:%M:%S', time.localtime(time.time()))
print(now_time)

# 查看cpu物理个数的信息
print(u"物理CPU个数: %s" % psutil.cpu_count(logical=False))

#CPU的使用率
cpu = (str(psutil.cpu_percent(1))) + '%'
print(u"cup使用率: %s" % cpu)

#查看内存信息,剩余内存.free  总共.total
#round()函数方法为返回浮点数x的四舍五入值。

free = str(round(psutil.virtual_memory().free / (1024.0 * 1024.0 * 1024.0), 2))
total = str(round(psutil.virtual_memory().total / (1024.0 * 1024.0 * 1024.0), 2))
memory = int(psutil.virtual_memory().total - psutil.virtual_memory().free) / float(psutil.virtual_memory().total)
print(u"物理内存: %s G" % total)
print(u"剩余物理内存: %s G" % free)
print(u"物理内存使用率: %s %%" % int(memory * 100))
# 系统启动时间
print(u"系统启动时间: %s" % datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S"))

# 系统用户
users_count = len(psutil.users())
#
# >>> for u in psutil.users():
# ...   print(u)
# ...
# suser(name='root', terminal='pts/0', host='61.135.18.162', started=1505483904.0)
# suser(name='root', terminal='pts/5', host='61.135.18.162', started=1505469056.0)
# >>> u.name
# 'root'
# >>> u.terminal
# 'pts/5'
# >>> u.host
# '61.135.18.162'
# >>> u.started
# 1505469056.0
# >>>

users_list = ",".join([u.name for u in psutil.users()])
print(u"当前有%s个用户,分别是 %s" % (users_count, users_list))

#网卡,可以得到网卡属性,连接数,当前流量等信息
net = psutil.net_io_counters()
bytes_sent = '{0:.2f} Mb'.format(net.bytes_recv / 1024 / 1024)
bytes_rcvd = '{0:.2f} Mb'.format(net.bytes_sent / 1024 / 1024)
print(u"网卡接收流量 %s 网卡发送流量 %s" % (bytes_rcvd, bytes_sent))

io = psutil.disk_partitions()
# print(io)
# print("io[-1]为",io[-1])
#del io[-1]

print('-----------------------------磁盘信息---------------------------------------')

print("系统磁盘信息:" + str(io))

for i in io:
    o = psutil.disk_usage(i.device)
    print("总容量:" + str(int(o.total / (1024.0 * 1024.0 * 1024.0))) + "G")
    print("已用容量:" + str(int(o.used / (1024.0 * 1024.0 * 1024.0))) + "G")
    print("可用容量:" + str(int(o.free / (1024.0 * 1024.0 * 1024.0))) + "G")

print('-----------------------------进程信息-------------------------------------')
# 查看系统全部进程
for pnum in psutil.pids():
    p = psutil.Process(pnum)
    print(u"进程名 %-20s  内存利用率 %-18s 进程状态 %-10s 创建时间 %-10s " \
    % (p.name(), p.memory_percent(), p.status(), p.create_time()))




evan@myxps:~/tmp$ python3  ps.py 
2021-07-18-15:00:08
物理CPU个数: 6
cup使用率: 2.8%
物理内存: 15.34 G
剩余物理内存: 9.19 G
物理内存使用率: 40 %
系统启动时间: 2021-07-18 11:35:59
当前有1个用户,分别是 evan
网卡接收流量 48.04 Mb 网卡发送流量 971.19 Mb
-----------------------------磁盘信息---------------------------------------
系统磁盘信息:[sdiskpart(device='/dev/nvme0n1p8', mountpoint='/', fstype='ext4', opts='rw,relatime,errors=remount-ro', maxfile=255, maxpath=4096), sdiskpart(device='/dev/nvme0n1p9', mountpoint='/home/evan/data', fstype='ext4', opts='rw,relatime', maxfile=255, maxpath=4096), sdiskpart(device='/dev/nvme0n1p1', mountpoint='/boot/efi', fstype='vfat', opts='rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro', maxfile=1530, maxpath=4096)]
总容量:7G
已用容量:0G
可用容量:7G
总容量:7G
已用容量:0G
可用容量:7G
总容量:7G
已用容量:0G
可用容量:7G
-----------------------------进程信息-------------------------------------
进程名 systemd               内存利用率 0.06825592315949582 进程状态 sleeping   创建时间 1626579359.07 
进程名 kthreadd              内存利用率 0.0                进程状态 sleeping   创建时间 1626579359.07 
进程名 rcu_gp                内存利用率 0.0                进程状态 idle       创建时间 1626579359.07 
进程名 rcu_par_gp            内存利用率 0.0                进程状态 idle       创建时间 1626579359.07 
进程名 kworker/0:0H-kblockd  内存利用率 0.0                进程状态 idle       创建时间 1626579359.07 
进程名 mm_percpu_wq          内存利用率 0.0                进程状态 idle       创建时间 1626579359.07 
进程名 ksoftirqd/0           内存利用率 0.0                进程状态 sleeping   创建时间 1626579359.07 
进程名 rcu_sched             内存利用率 0.0                进程状态 idle       创建时间 1626579359.07 
进程名 migration/0           内存利用率 0.0                进程状态 sleeping   创建时间 1626579359.07 
进程名 cpuhp/0               内存利用率 0.0                进程状态 sleeping   创建时间 1626579359.07 
进程名 cpuhp/1               内存利用率 0.0                进程状态 sleeping   创建时间 1626579359.07 
进程名 migration/1           内存利用率 0.0                进程状态 sleeping   创建时间 1626579359.07 
进程名 ksoftirqd/1           内存利用率 0.0                进程状态 sleeping   创建时间 1626579359.07 
进程名 kworker/1:0H-events_highpri  内存利用率 0.0                进程状态 idle       创建时间 1626579359.07 
进程名 cpuhp/2               内存利用率 0.0                进程状态 sleeping   创建时间 1626579359.07 
进程名 migration/2           内存利用率 0.0                进程状态 sleeping   创建时间 1626579359.07 
进程名 ksoftirqd/2           内存利用率 0.0                进程状态 sleeping   创建时间 1626579359.07 
进程名 kworker/2:0H-kblockd  内存利用率 0.0                进程状态 idle       创建时间 1626579359.07 
进程名 cpuhp/3               内存利用率 0.0                进程状态 sleeping   创建时间 1626579359.07 
进程名 migration/3           内存利用率 0.0                进程状态 sleeping   创建时间 1626579359.07 
进程名 ksoftirqd/3           内存利用率 0.0                进程状态 sleeping   创建时间 1626579359.07 
进程名 kworker/3:0H-events_highpri  内存利用率 0.0                进程状态 idle       创建时间 1626579359.07 
进程名 cpuhp/4               内存利用率 0.0                进程状态 sleeping   创建时间 1626579359.07