【问题标题】:Given a user calculate how many bytes their process are consuming [duplicate]给定用户计算他们的进程消耗了多少字节[重复]
【发布时间】:2019-08-08 14:03:35
【问题描述】:

我正在使用 linux,我想制作一个脚本,在输入中获取用户名并返回其进程正在消耗的内存。

我怎样才能做到这一点。

【问题讨论】:

标签: linux bash


【解决方案1】:

您可以使用 top 命令并通过解析输出并查找“KiB Mem :”来获取内存使用情况

top -u <UserId> -n 1 | grep "Mem :" | awk '{print $8}'

您需要更改 grep 模式以选择正确的行

【讨论】:

  • 虽然尝试将我的 UserId 放入命令 bash 中会出现错误,指出文件或目录不存在,但知道为什么会这样吗?
  • 我没有看到那个错误。此外,您应该使用您用来登录 unix 系统的用户 ID。
【解决方案2】:

你也可以试试:

ps -u&lt;username&gt; -o %mem,size,pid,cmd

这将显示使用的内存百分比、大小(以千字节为单位)、进程 ID 和进程本身(命令)。 如果您只想检查一次使用的总内存:

ps -u&lt;username&gt; -o size |awk 'NR&gt;1{s+=$1}END{print s}'

查看ps 命令的手册页以获取更多显示选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多