import torch
import time
确保使用GPU4
device = torch.device('cuda:4')
通过不断增加内存分配来逐步占满 GPU
try:
while True:
#每次分配越来越大的张量,增加内存占用
batch_size=300000 #逐步增大批量大小
#调整张量尺寸x = torch.randn(batch_size, 5000, device=device)
#执行计算,保持内存占用
y=x*x#每次计算后延迟1秒,避免过快释放内存
time.sleep(1)
except RuntimeError as e:
print("Memory allocation failed:",e)
print("GPU memory likely full.")
xcept KeyboardInterrupt:
print("Process interrupted manually.")
怎么对付这种实验室恶意占用显存的啊 
重启机器
如果付费了,在规则之内,不能定义为恶意,人家就是正常需求吧
@hundouluo #1 没有管理员权限
@TraderYao #2 是学校实验室的,公共资源
加大力度,溢出就好了,来几次直接投诉可用性
@Geeen #3
kill -9
@NicholasRobert #5 就是我这里也使用类似的代码去占用显存吗?
@NicholasRobert #5 没用,他直接占满了
显存分配失败: CUDA error: out of memory
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with
TORCH_USE_CUDA_DSAto enable device-side assertions.别听我扯淡,这种事还是实际点可能更好。
抛砖引玉,
比如排队式,搞个共享文档,有任务需要跑的就添加上去,注明跑的内容和预期时间,最好再自动统计下每人占用的时间并自动生成个排行或者直观的饼图挂到预定表顶上,应该不难。上一个执行完就通知下下一个。一切公开透明大家互相监督,哪怕有偏差或者故意多写一点也不至于离谱。
比如轮流制度,6个人每人多大时间窗口轮流,暂时用不到的也可先换给别人或者直接送给要好的,实验室紧着出成果的大师兄之类的可以适当多倾斜一些。
楼主可以根据你们的情况考虑下怎么样对大家都可以尽量公允,想个基本保证大家每个人基本权利的方式。
可以跟导师或者是导师授权的管理实验室的师兄明确直接反映下现在一实验室人守着水井没水吃的窘境,然后建议下你的思路,其实导师们很希望有个公允又愿意扛事情的帮忙日常管理下实验室的杂七杂八,只是有的能找到合适的人,有的就找不到只能放羊
@NicholasRobert #9 感谢大佬花时间给我这么认真、可落地的建议!!