我注意到有时当我运行top 时,进程表中每个进程的内存使用量似乎加起来不等于总数。
例如,在下面的转储中,top 表示我正在使用 16 Gb 内存。但是,进程表只显示了两个使用 520 Mb 多一点的进程。如何找出消耗其他 15.5 Gb 的资源?(我正在使用 CentOS。)
$顶 top - 12:16:34 up 45 days, 2:28, 3 users, load average: 0.24, 0.65, 0.71 任务:总共 274 个,运行 1 个,睡眠 273 个,停止 0 个,僵尸 0 个 Cpu(s): 2.3%us, 0.2%sy, 0.0%ni, 97.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 内存:总共 16432032k,已使用 16340144k,91888k 空闲,21736k 缓冲区 交换:总共 18481144k,已使用 1112k,空闲 18480032k,缓存 15624488k PID 用户 PR NI VIRT RES SHR S %CPU %MEM TIME+ 命令 18159 jsmith 15 0 260m 31m 4560 S 16.6 0.2 53:35.64 蟒蛇 4795 26 15 0 260m 6608 4220 S 2.0 0.0 0:00.06 邮政局长 1 根 15 0 10344 680 568 S 0.0 0.0 0:39.36 初始化 2 根 RT -5 0 0 0 S 0.0 0.0 0:00.53 迁移/0 3 根 34 19 0 0 0 S 0.0 0.0 0:00.62 ksoftirqd/0 4 根 RT -5 0 0 0 S 0.0 0.0 0:00.00 看门狗/0 5 根 RT -5 0 0 0 S 0.0 0.0 0:02.09 迁移/1 6 根 34 19 0 0 0 S 0.0 0.0 0:01.32 ksoftirqd/1 7 根 RT -5 0 0 0 S 0.0 0.0 0:00.00 看门狗/1 8 根 RT -5 0 0 0 S 0.0 0.0 0:00.99 迁移/2 9 根 34 19 0 0 0 S 0.0 0.0 0:01.74 ksoftirqd/2 10 根 RT -5 0 0 0 S 0.0 0.0 0:00.00 看门狗/2 11 根 RT -5 0 0 0 S 0.0 0.0 0:02.16 迁移/3 12 根 34 19 0 0 0 S 0.0 0.0 0:01.30 ksoftirqd/3 13 根 RT -5 0 0 0 S 0.0 0.0 0:00.00 看门狗/3 14 根 RT -5 0 0 0 S 0.0 0.0 0:01.94 迁移/4 15 根 34 19 0 0 0 S 0.0 0.0 0:01.78 ksoftirqd/4 16 根 RT -5 0 0 0 S 0.0 0.0 0:00.00 看门狗/4 17 根 RT -5 0 0 0 S 0.0 0.0 0:01.92 迁移/5 18 根 34 19 0 0 0 S 0.0 0.0 0:01.30 ksoftirqd/5 19 根 RT -5 0 0 0 S 0.0 0.0 0:00.00 看门狗/5 20 根 RT -5 0 0 0 S 0.0 0.0 0:02.06 迁移/6 21 根 34 19 0 0 0 S 0.0 0.0 0:01.83 ksoftirqd/6 22 根 RT -5 0 0 0 S 0.0 0.0 0:00.00 看门狗/6 23 根 RT -5 0 0 0 S 0.0 0.0 0:02.31 迁移/7 24 根 34 19 0 0 0 S 0.0 0.0 0:01.50 ksoftirqd/7 25 根 RT -5 0 0 0 S 0.0 0.0 0:00.00 看门狗/7 26 根 10 -5 0 0 0 S 0.0 0.0 0:00.42 事件/0 27 根 10 -5 0 0 0 S 0.0 0.0 0:00.28 事件/1 28 根 10 -5 0 0 0 S 0.0 0.0 0:00.37 事件/2 29 根 10 -5 0 0 0 S 0.0 0.0 0:00.21 事件/3 30 根 10 -5 0 0 0 S 0.0 0.0 0:00.38 事件/4 31 根 10 -5 0 0 0 S 0.0 0.0 0:00.27 事件/5 32 根 10 -5 0 0 0 S 0.0 0.0 0:00.52 事件/6 33 根 10 -5 0 0 0 S 0.0 0.0 0:00.64 事件/7 34 根 10 -5 0 0 0 S 0.0 0.0 0:00.00
grs*_*grs 27
从顶部的内存使用相关行:
Mem: 16432032k total, 16340144k used, 91888k free, 21736k buffers
Swap: 18481144k total, 1112k used, 18480032k free, 15624488k cached
让我们忽略交换。总内存等于已用内存和可用内存的总和。另一方面,Used 是“应用程序真正使用的”与缓存和缓冲区的总和。所以,在你的情况下是这样的:
其他 15.5 GB 被缓存。这提高了性能。但是,在应用程序需要部分缓存内存的那一刻,它会立即提供给它。如果您运行一些内存占用较大的应用程序并监视top
.
归档时间: |
|
查看次数: |
12803 次 |
最近记录: |