我最近将 OpenVZ VPS 分布式升级到 Debian 9.1,现在不断遇到内存问题。只有 128 MB + 64 MB 的交换空间可用,所以我知道无论如何情况都会很紧张。但即使停止了所有我可以停用的东西,我也只有 50 MB 的内存可用,有时甚至更少。示例输出free
:
total used free shared buff/cache available
Mem: 131072 23684 49056 6700 58332 49509
Swap: 65536 2140 63396
输出样例ps axu
:
root 1 0.0 2.5 208600 3300 ? Ss Oct10 2:32 init -z
root 2 0.0 0.0 0 0 ? S Oct10 0:00 [kthreadd/27403]
root 3 0.0 0.0 0 0 ? S Oct10 0:02 [khelper/27403]
root 62 0.0 0.1 43108 144 ? Ss Oct10 0:00 /lib/systemd/systemd-udevd
root 120 0.0 0.9 46460 1284 ? Ss Oct10 1:24 /lib/systemd/systemd-logind
message+ 127 0.0 0.6 45060 792 ? Ss Oct10 3:21 /usr/bin/dbus-daemon --system
root 318 0.0 0.0 12612 8 tty1 Ss+ Oct10 0:00 /sbin/agetty --noclear --keep
root 319 0.0 0.0 12612 8 tty2 Ss+ Oct10 0:00 /sbin/agetty --noclear tty2 l
root 362 0.0 0.0 20168 8 ? Ss Oct10 0:00 /usr/sbin/xinetd -pidfile /ru
root 5275 0.1 2.0 59976 2724 ? Ss 03:33 0:02 /lib/systemd/systemd-journald
root 8428 0.0 0.3 69888 520 ? Ss Oct15 0:18 /usr/sbin/sshd -D
root 14452 0.0 3.3 99256 4412 ? Ss 04:01 0:00 sshd: root@pts/0
root 14456 0.0 2.4 56248 3236 ? Ss 04:01 0:00 /lib/systemd/systemd --user
root 14457 0.0 0.9 236184 1180 ? S 04:01 0:00 (sd-
root 14467 0.0 1.9 20184 2588 pts/0 Ss 04:01 0:00 -bash
root 16404 0.0 2.9 99136 3916 ? Ss 04:08 0:00 sshd: root [priv]
sshd 16405 0.0 1.2 69888 1608 ? S 04:08 0:00 sshd: root [net]
root 16406 0.0 1.3 38184 1776 pts/0 R+ 04:08 0:00 ps axu
(这(sd-
是 sd-pam,不知道为什么 ps 会这样将其切断。)
这些数字是预期的吗?如果不是,你能告诉我哪里出了问题吗,或者告诉我需要提供哪些其他信息?我一直很难理解 Linux 中内存处理的细节,所以我有点不知所措。
答案1
缓存/缓冲区和共享会占用一些内存,当应用程序需要内存时,它会首先获取空闲内存,然后再释放缓存/缓冲区内存