特定用户使用了多少内存

特定用户使用了多少内存

是否有可能知道我在多用户 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 是一个环境变量,因此您无需设置它。

相关内容