
我们知道,在 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 使用情况。