在之前记录过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