Kur*_*eek 1 memory memory-management ps
我有一个使用 pid 运行的服务器进程24257,想知道它使用了多少内存(以便估计为 Kubernetes 中的同一进程分配多少资源)。根据ps(https://man7.org/linux/man-pages/man1/ps.1.html)的手册页,这可以通过输出格式说明符获得%mem:
%mem %MEM ratio of the process's resident set size
to the physical memory on the machine,
expressed as a percentage. (alias pmem).
Run Code Online (Sandbox Code Playgroud)
如果我运行这个,我会得到
> ps -p 24257 -o %mem
%MEM
0.3
Run Code Online (Sandbox Code Playgroud)
我不确定我是否理解这个输出,因为我在具有 64 GB 内存的 MacBook Pro 上运行该进程,因此我希望(终端)进程在活动监视器中显示为使用约 19 GB 内存。然而,运行的终端进程远没有达到这个数字(最多约 900 Mb)。
有没有办法获得内存使用量的绝对数字(以 Mb 为单位)?或者,如何确定用于此计算的“机器上的物理内存”?
要将Nate Eldredge的评论转换为答案,首先,0.3输出是百分比,因此 64 GB 的 0.3% 是 192 MB。
其次,rss输出应给出驻留集大小:
rss RSS resident set size, the non-swapped physical
memory that a task has used (in kilobytes).
(alias rssize, rsz).
Run Code Online (Sandbox Code Playgroud)
运行此命令给出
> ps -p 24257 -o %mem,rss
%MEM RSS
0.3 209908
Run Code Online (Sandbox Code Playgroud)
约 21 Mb 的输出与根据输出得出的约 19 Gb 的估计值非常吻合%MEM。
| 归档时间: |
|
| 查看次数: |
7093 次 |
| 最近记录: |