测量每个用户的 CPU 和内存以分配服务器的“成本”

测量每个用户的 CPU 和内存以分配服务器的“成本”

我应该如何在服务器上实现大致正确的每用户监控?我想要一种根据用户的使用情况在用户之间分摊服务器成本的方法。在较新的机器(RHEL6)上我会使用cgroups;在较旧的内核上,进程计数和ps平均值。这些是最好的方法吗?

答案1

测量消费过程可以测量用户在服务器上的消费情况。为了测量进程的消耗,我建议使用顶上软件

答案2

它可能对您有帮助:

#!/bin/bash
total_mem=0

printf "%-10s%-10s\n" User MemUsage

while read u m
do
        [[ $old_user != $u ]] && {  printf "%-10s%-0.1f\n" $old_user $total_mem;
                                    total_mem=0; }
        total_mem="$(echo $m + $total_mem | bc)"
        old_user=$u

done < <(ps --no-headers -eo user,%mem| sort -k1)

#EOF

相关内容