python列出centos7内存使用前50的进程信息

python 代码,列出 centos7系统 内存使用排名前50的进程信息,

按照内存使用大小从大到小排序。

 

复制代码
import psutil  
  
# 获取系统内存信息  
total_memory = psutil.virtual_memory().total / (1024.0 ** 3)  # 转换为GB  
available_memory = psutil.virtual_memory().available / (1024.0 ** 3)  # 转换为GB  
memory_percent = psutil.virtual_memory().percent  
  
print(f"Total Memory: {total_memory:.2f} GB")  
print(f"Available Memory: {available_memory:.2f} GB")  
print(f"Memory Usage: {memory_percent}%")  
  
# 获取进程信息并按内存使用量排序  
processes = []  
for proc in psutil.process_iter(['pid', 'name']):  
    try:  
        # 获取进程的内存信息  
        memory_info = proc.memory_info()  
        memory_usage = memory_info.rss / (1024.0 ** 2)  # 转换为MB  
        memory_percent = proc.memory_percent()  # 获取内存使用率  
        processes.append((proc.info['pid'], proc.info['name'], memory_usage, memory_percent))  
    except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):  
        pass  
  
# 排序进程(按内存使用量降序)  
sorted_processes = sorted(processes, key=lambda process: process[2], reverse=True)  
  
# 打印前50个进程  
for proc in sorted_processes[:50]:  
    pid, name, memory_usage, memory_percent = proc  
    print(f"PID: {pid}, Memory Usage: {memory_usage:.2f} MB, Percent: {memory_percent:.3f}%, Name: {name}")
复制代码

 

posted @   He_LiangLiang  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示