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}")