如何检查进程占用了多少内存?

如何检查进程占用了多少内存?

我们知道,在 Linux 机器中,我们有 RAM 内存和交换内存。

我的第一个问题是:

交换内存增加的原因是什么?是因为 RAM 内存的使用率高还是其他原因?

第二,是否可以验证一个进程占用了多少内存?

来自 top 命令的示例:

是否可以计算出看门狗进程使用了​​多少内存?

 Tasks: 107 total,   1 running, 106 sleeping,   0 stopped,   0 zombie
 Cpu(s):  0.8%us,  0.5%sy,  0.0%ni, 98.0%id,  0.5%wa,  0.0%hi,  0.1%si,  0.0%st
 Mem:   2075440k total,  2011396k used,    64044k free,   120452k buffers
 Swap:  4192924k total,  1554096k used,  2638828k free,  1418852k cached

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                                  
 1 root      15   0  2160  600  544 S  0.0  0.0   1:00.91 init                                                                                                                                                      
 2 root      RT  -5     0    0    0 S  0.0  0.0   0:04.50 migration/0                                                                                                                                               
 3 root      34  19     0    0    0 S  0.0  0.0   0:00.16 ksoftirqd/0                                                                                                                                               
 4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.01 watchdog/0   

答案1

当所有 RAM 都分配完毕后,就会使用交换。

看门狗进程实际上是一个内核线程,因此您无法获取其具​​体的内存使用情况,因为它是内核的一部分。

RES 列(常驻)报告常规进程的 RAM 使用情况。

相关内容