是否有可能知道我在多用户 Linux 机器上使用了多少内存?我想知道我是否使用了大量内存并可能给其他人带来不便,因此我可以在必要时关闭我的进程。
我在另一个问题中看到sa -m
可能会这样做,但我显然无权访问该服务器上的该命令。
编辑:我没有 sudo 访问权限,所以无法安装东西。服务器是CentOS。
答案1
您可以ps
与 一起使用awk
来查找用户的物理内存使用情况:
ps -U root --no-headers -o rss | awk '{ sum+=$1} END {print int(sum/1024) "MB"}'
在这里,它将使用的内存打印root
到输出。
答案2
我认为 smem 对于你的情况来说是更好的工具。
安装 smem 并尝试
smem -uk
如果您使用的是 debian,您可以使用以下命令安装它:
apt-get install smem
如果您无法在服务器上安装任何内容,您可以尝试:
ps haux | awk -v user=$USER '$1 ~ user { sum += $4} END { print user, sum; }'
请记住,$USER 是一个环境变量,因此您无需设置它。