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
相关推荐
仙柒4153 小时前
Docker存储原理
运维·docker·容器
快乐的哈士奇6 小时前
LangFuse 自托管实战:选型理由、Docker 部署与常用配置全解析
运维·人工智能·docker·容器
weixin_449290018 小时前
Docker + MySQL 在 Windows 11 上的本地安装部署文档
mysql·docker·容器
Ysn07198 小时前
中文乱码:在 Docker 容器中设置中文语言环境
运维·python·docker·容器
zxd0203119 小时前
EFK(Elasticsearch + Fluentd + Kibana) 日志收集系统
运维·docker·jenkins
终端行者9 小时前
Jenkins Pipeline 企业级用法 参数化构建+Ansible发布---上
docker·ansible·jenkins·cicd
亚空间仓鼠10 小时前
Docker容器化高可用架构部署方案(十三)
docker·容器·架构
米高梅狮子11 小时前
01.mysql的备份与恢复
运维·数据库·mysql·docker·容器·kubernetes·github
console.log('npc')11 小时前
Windows 11 → WSL2 → Ubuntu → Docker → Codex → Sub2API
windows·ubuntu·docker