Memory 内存已用,但我可以';看不到使用它的流程(Debian)
我的问题是:Memory 内存已用,但我可以';看不到使用它的流程(Debian),memory,debian,Memory,Debian,我的问题是: top - 11:32:47 up 22:20, 2 users, load average: 0.03, 0.72, 1.27 Tasks: 112 total, 1 running, 110 sleeping, 1 stopped, 0 zombie Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 8193844k total, 7508
top - 11:32:47 up 22:20, 2 users, load average: 0.03, 0.72, 1.27
Tasks: 112 total, 1 running, 110 sleeping, 1 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8193844k total, 7508292k used, 685552k free, 80636k buffers
Swap: 2102456k total, 15472k used, 2086984k free, 7070220k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
28555 root 20 0 57424 38m 1492 S 0 0.5 0:06.38 bash
28900 root 20 0 39488 7732 3176 T 0 0.1 0:03.12 python
28553 root 20 0 72132 5052 2600 S 0 0.1 0:00.22 sshd
28859 root 20 0 70588 3424 2584 S 0 0.0 0:00.06 sshd
29404 root 20 0 70448 3320 2600 S 0 0.0 0:00.06 sshd
28863 root 20 0 42624 2188 1472 S 0 0.0 0:00.02 sftp-server
29406 root 20 0 19176 1984 1424 S 0 0.0 0:00.00 bash
2854 root 20 0 115m 1760 488 S 0 0.0 5:37.02 rsyslogd
29410 root 20 0 19064 1400 1016 R 0 0.0 0:05.14 top
3111 ntp 20 0 22484 604 460 S 0 0.0 10:26.79 ntpd
3134 proftpd 20 0 64344 452 280 S 0 0.0 6:29.16 proftpd
2892 root 20 0 49168 356 232 S 0 0.0 0:31.58 sshd
1 root 20 0 27388 284 132 S 0 0.0 0:01.38 init
3121 root 20 0 4308 248 172 S 0 0.0 0:16.48 mdadm
正如您所看到的,使用了7.5 GB的内存,但没有使用它的进程。
它是怎样的,以及如何解决这个问题
感谢您的回答。要查看所有流程,您可以使用该命令:
ps aux
然后尝试使用不同的过滤器进行排序
ps faux
希望有帮助
如果您的系统开始使用交换文件,那么您的内存负载很高。取决于文件系统,您使用的程序-linux系统可能会分配您所有的系统内存-但这并不意味着他们正在使用它
我们使用的许多ubuntu和debian服务器都有32或64 mb的可用内存,但不使用交换。
然而,我不是Linux专家,所以如果我错了,请有人纠正我:)我手边没有一个Linux测试箱,但是看起来你可以用交互式命令对top的输出进行排序,这样你就可以把最大的内存用户带到顶部。检查手册页并进行实验 更新:在top I have(procps 3.2.7)版本中,您可以点击“”更改其排序依据的字段。实际上没有说它是什么字段,你必须看看显示是如何变化的。只要你做一点实验就不难了 然而,Arrowmaster的观点(它可能被用于缓存)是一个更好的答案。使用“免费”查看使用了多少。
把整个内容复制/粘贴到这里来破坏网站太好了。我也遇到过类似的问题。我在Pi B+上运行Raspbian,连接了TP-Link USB无线LAN棒。棒导致了一个问题,导致几乎所有的内存在系统启动时被消耗(大约430个445MB)。就像您的情况一样,正在运行的进程没有消耗那么多内存。当我卸下记忆棒并重新启动时,一切正常,只消耗了50 MB内存。我发现这种情况是由我们的一个应用程序进程造成的。它加载了大量内存,然后就死掉了。但是为什么在使用它的进程死掉时内存没有重新分配(没有设置为空闲)?这与“top”是一样的,但在另一种方式。因此,在进程死掉之后,您可以检查哪些值是“free”的吗?它提供的值与“top”相同,您可以使用strace调试进程。这样你就会看到那里发生了什么。我想下面一定有更大的数字。这是一个轻负载。是的,但也有7.5 GB的内存消耗,我不知道在哪里(因为你怎么看没有任何进程有这样的负载)“它不会以任何方式从应用程序中拿走内存,永远!”错了。VirtualBox无法分配它。