运行按用户分组显示资源使用情况?

运行按用户分组显示资源使用情况?

我们最近重组了部分网络托管设置;将一系列应用程序分散到一台(虚拟)机器上的多个用户上,以便更好地发现资源使用问题等。

然而,此时的问题是,虽然我们有一个麻烦行为的候选者,但可以使用 轻松确认top -u,这是一种获取资源使用情况顶部显示的方法按用户分组迄今为止仍未找到答案。

有什么建议么?

编辑:

详细说明:

我不想看到每一条流程线(流程线有很多,极端情况下每个用户最多有 15 条);我想看到每个用户一行;显示该用户的累计资源使用情况,其中一行表示每个用户

答案1

好吧……因为我很无聊,而且这似乎是一个有趣的挑战,所以我写了这个脚本,我认为它会满足你的要求。我已经测试了它的基本功能,它旨在灵活,因此你可以告诉 top 只输出你关心的字段,它应该能够正确适应。但它无疑不能处理每一个每个版本的 top 的格式化输出的情况。

每个用户最高

来自我自己的工作站的示例输出:

      USER       VIRT        RES        SHR       %CPU       %MEM      TIME+      procs
       ntp        41m        580        444          0          0    0:02.93          1
  haldaemo        69m         3m         2m          0        0.1    0:01.85          2
   jonhall        12g       803m       230m          4       13.3  134:24.09         47
  postgres       471m         1m        788          0          0    0:15.24          5
   postfix       117m         7m         6m          0        0.1    0:00.02          3
     statd        14m         16          8          0          0    0:00.00          1
      root         2g       473m        18m          0        7.7  108:18.75        126
     avahi        66m        784        628          0          0    0:00.15          2
   dovecot        12m         96         48          0          0    0:00.00          1
    daemon        26m         56         32          0          0    0:00.00          2
  messageb        23m         1m        812          0          0    0:01.74          1

相关内容