在搜索了这个并且只找到了不能正确解释“缓存”数字的人的帖子后,我决定问这个问题。
我手头有一些服务器,它们的行为很奇怪。也就是说,他们的 RAM 使用率非常高,原因不明。似乎一个不可见的进程有很多“使用过的”RAM(我的意思是“使用过的”)。
这是一些信息:
还有一些shell输出:
root@good-server:# free -m
total used free shared buffers cached
Mem: 15953 14780 1173 0 737 8982
-/+ buffers/cache: 5059 10894
Swap: 31731 0 31731
root@good-server:# python ps_mem.py
[... all processes neatly listed ...]
---------------------------------
4.7 GiB
=================================
root@bad-server:# free -m
total used free shared buffers cached
Mem: 15953 15830 123 0 124 1335
-/+ buffers/cache: 14370 1583
Swap: 31731 15 31716
root@bad-server:# …Run Code Online (Sandbox Code Playgroud) 我目前面临将 GPU 服务器集成到现有 SGE 环境中的问题。使用谷歌我找到了一些集群的例子,其中已经设置了这个,但没有关于如何完成的信息。
是否有某种形式的方法或教程?它不必非常冗长,但它应该包含足够的信息来启动和运行“cuda 队列”......
提前致谢...
编辑:要设置一个负载传感器,了解一个节点中有多少 GPU 是空闲的,我已经完成了以下操作:
#!/bin/sh
主机名=`uname -n`
而 [1]; 做
读取输入
结果=$?
如果 [ $result != 0 ]; 然后
出口 1
菲
if [ "$input" == "quit" ]; 然后
退出 0
菲
smitool=`which nvidia-smi`
结果=$?
如果 [ $result != 0 ]; 然后
gpusav=0
gpu=0
别的
gpustotal=`nvidia-smi -L|wc -l`
gpusused=`nvidia-smi |grep "进程名称" -A 6|grep -v +-|grep -v \|=|grep -v 用法|grep -v "没有运行"|wc -l`
gpusavail=`echo $gpustotal-$gpusused|bc` …