给定用户计算他们的进程消耗了多少字节[重复]

Posted

技术标签:

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

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

我怎样才能做到这一点。

【问题讨论】:

How to measure actual memory usage of an application or process?、Finding memory usage of a process in Linux、Retrieve CPU usage and memory usage of a single process on Linux? 等可能重复 【参考方案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;1s+=$1ENDprint s'

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

【讨论】:

以上是关于给定用户计算他们的进程消耗了多少字节[重复]的主要内容,如果未能解决你的问题,请参考以下文章

基数估计算法简介

计算组合的有效算法,数组的重复加起来等于给定的总和

计算给定2点,纬度和经度的距离[重复]

计算Java中任何对象的总内存使用量[重复]

从会话 0(服务)启动提升的用户进程 [重复]

使用 java [重复] 确定给定一个字节 [] 记录的音频数据的频率