我们有很多方法来检查总体内存使用情况,但是如果您想监视某个特定进程的内存使用情况,该怎么办呢。
Linux如何查看某个进程的内存使用量?
为了演示,我们将运行 screen 实用程序,然后查看它的内存使用情况。
下面的命令将创建一个名为“work”的具有 500 万行缓冲区的屏幕
# screen -h 5000000 -LS work
执行此命令后,屏幕上将出现一个新屏幕。
要分离屏幕,请按“ctrl + a + d”
现在在屏幕上让我们看到正在运行的屏幕实用程序的 PID
# screen -ls There is a screen on: 2598.work (Detached) 1 Socket in /var/run/screen/S-root.
此屏幕实用程序的 pid 为 2598
让我们检查它的内存利用率
方法一
使用 ps 命令(这将以百分比显示内存利用率)
# ps -p 2598 v PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND 2598 ? Ss 0:03 0 354 938689 821540 42.9 SCREEN -h 5000000 -LS work
因此 screen 实用程序使用了我总可用内存的 42.9%,例如:1869 MB,因此 screen 大约使用了 801 MB。
方法二
Linux如何查看某个进程的内存使用情况?
使用top命令
# top -p 2598 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2598 root 20 0 917m 802m 864 S 0.0 42.9 0:03.49 screen
输出与我们使用 ps 命令看到的相似,它再次向我们显示了 %age 使用率,但还有一个 VIRT 部分,它告诉我们 screen 实用程序使用的虚拟内存。
基本上,虚拟内存是运行进程使用的物理内存和交换空间的逻辑组合。
方法三
使用screen实用程序进程的 pid 运行以下命令
# cat /proc/2598/status | grep -i VMSIZE VmSize: 939044 kB
这将再次显示screen实用程序使用的虚拟内存,即:917 MB
日期:2020-06-02 22:18:24 来源:oir作者:oir