Ubuntu Server 14.04 内存不足

Ubuntu Server 14.04 内存不足

在此处输入图片描述

附件是程序的截图htop。内存使用量一直在增加,但我找不到是什么程序我的 RAM。之后,只剩下 200MB 内存可用 :'(。

您能给我一些提示来修复这个问题吗?

更新

我停止我知道的所有进程(实际上我只运行了一个进程),等待大约 30 分钟,然后执行

free -m total used free shared buffers cached Mem: 15039 14687 352 0 1 16 -/+ buffers/cache: 14669 370 Swap: 0 0 0

在我看来,内存的可用空间永远不会再回来。

更新 2

ps aux --sort -rss | head USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1060 0.0 0.0 279756 3320 ? Sl 15:11 0:00 /usr/lib/policykit-1/polkitd --no-debug ubuntu 1830 0.0 0.0 21808 3240 pts/1 Ss 15:12 0:00 -bash root 751 0.0 0.0 10220 2296 ? Ss 15:11 0:00 dhclient -1 -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0 root 1054 0.0 0.0 344384 2264 ? Ssl 15:11 0:00 NetworkManager root 1 0.1 0.0 33760 2072 ? Ss 15:11 0:03 /sbin/init root 1327 0.0 0.0 287352 1712 ? Sl 15:11 0:00 /usr/lib/accountsservice/accounts-daemon ubuntu 20475 0.0 0.0 17324 1424 pts/1 R+ 15:48 0:00 ps aux --sort -rss syslog 942 0.0 0.0 262132 1328 ? Ssl 15:11 0:00 rsyslogd root 530 0.0 0.0 51928 1268 ? Ss 15:11 0:00 /lib/systemd/systemd-udevd --daemon ** 更新 3:**

结果sudo slabtop

答案1

一个好方法是检查 RSS 最大的进程

ps aux --sort -rss | head

或者使用 slabtop 之类的工具来查看 Linux slab 分配器上内存的使用情况:

sudo slabtop

答案2

您的内存可能被用作 RAM 磁盘(https://en.wikipedia.org/wiki/RAM_drive)。

键入df -h。您是否看到挂载在 或 上的“tmpfs” /dev/shm/run/shm如果是,则表示您的内存正在用于该文件系统。

过去,我曾将经常访问的文件存储在那里(注意:重新启动时文件会被删除)。我不记得有关它的细节,但它应该会随着内存的使用而调整大小。但是,我总是想知道如果我把文件留在那里,它是否永远不会回收该空间。因此,我放弃了这样做。

/dev/shm如果您在此网站上搜索“RAM 磁盘” 、 或(最后一个是旧版本 Ubuntu 使用的位置)等字词/run/shm,您将找到更多信息。例如:

或者来自另一个网站的这个:

(我希望这能回答你关于内存去哪儿的问题。但是,我的建议是将其保留为默认大小,直到你阅读更多相关信息。我不记得系统是否依赖它。)

相关内容