Linux查看某个用户使用总内存脚本

在之前记录过Valgrind的安装与使用

有时想要测试某个linux用户使用的总内存是否在增长,可以通过下面的python代码每隔一段时间做个统计

python 复制代码
import psutil
import time

# 指定要监视的用户名
target_user = "yifan.wang"  # 替换为要监视的用户名

# 获取初始内存使用情况
initial_memory = psutil.virtual_memory().used

while True:
    # 获取指定用户的所有进程
    user_processes = [p for p in psutil.process_iter(attrs=['pid', 'username']) if p.info['username'] == target_user]

    # 计算用户进程的内存使用情况总和
    user_memory = sum([p.memory_info().rss for p in user_processes])

    # 输出内存使用情况
    print(f"Total memory used by {target_user}: {user_memory / (1024 * 1024):.2f} MB")

    # 等待一段时间
    time.sleep(60)  # 等待60秒

    # 获取新的内存使用情况
    new_memory = psutil.virtual_memory().used

    # 检查内存是否增长
    if new_memory > initial_memory:
        print(f"Memory has increased from {initial_memory / (1024 * 1024):.2f} MB to {new_memory / (1024 * 1024):.2f} MB")
    else:
        print("Memory has not increased.")

    # 更新初始内存使用情况
    initial_memory = new_memory
相关推荐
菜鸟分享录1 小时前
OpenClaw Docker一键部署(轻松实现多容器隔离)
docker·ai·openclaw·小龙虾
codeejun2 小时前
每日一Go-59、云原生入门为什么一定要学Docker?
docker·云原生·golang
赵鑫亿4 小时前
ClawPanel — 开源 OpenClaw 智能管理面板,20+ 通道接入 / 多模型配置 / Docker 一键部署
docker·容器·开源
杨云龙UP4 小时前
Windows Server 2012 环境下 Oracle 11.2 使用 expdp 实现自动备份、异地复制与定期清理_20260504
服务器·数据库·windows·mysql·docker·oracle·容器
切糕师学AI5 小时前
Docker CE 与 Docker Compose 详解:容器化引擎与多容器编排
docker·容器
ezreal_pan5 小时前
Docker部署Kafka持久化遇到的各种问题及解决方案
docker·容器·kafka
杨浦老苏1 天前
自托管网页EPUB阅读器Codexa
docker·群晖·电子书·calibre·opds
杨浦老苏1 天前
开源文件协作平台OpenCloud
docker·文件管理·群晖·协作
weixin_377634841 天前
【MinerU】 Docker Compose 使用
docker·容器·mineru
庚昀◟1 天前
腾讯云 CVM + Docker + Jenkins + GitLab CI/CD 全流程指南(python、flask实现简单计算器)
python·ci/cd·docker·flask·jenkins