技术解析

Linux swap 占用始终很小,这是为啥?
0
2021-06-23 10:16:04
idczone

机器是 centos 512M 内存的,升级物理内存很麻烦,物理内存使用比例较大,经常不定时 OOM

想尽量使用 swap,但是 swap 占用始终很小

free -m , 内存占用如下:

改了 /etc/sysctl.conf

vm.swappiness=90

sysctl -p 执行后依然不生效。

是不是我对 swap 的理解有问题?


cat /proc/meminfo

老哥,你发这个是查看内存信息的啊,我的问题是为啥 swap 没有使用起来

如果我记得没错的话,swap 是存储“暂时不需要使用的内存”到硬盘上,等到使用的时候再载入到内存中
这种情况只能说明,没有“长期不使用的内存”

对,我也是这么理解的,这样的话,只有升级物理内存了

………这你不发贵知道你内存是怎么用的?

`vm.swappiness` 的值越大,表示 Linux 在进行内存回收的时候越倾向于回收**匿名页**,即将匿名页中的数据交换到 `swapfile` 或者 `swap` 空间。如果内存中的匿名页特别少的话,把 `swapiness` 的值设得再高也没用啊。“**在 Linux 下,内存的使用量取决于你的程序是怎样写的**”。

Android 里 swap ( 512M )占满而内存还有 1G 空闲导致经常卡顿 =_=
想知道非 root 下有什么能清 swap 的命令

你不 root 用的的是 zram 没有磁盘 io 不会导致你手机卡。neon 压一下就进去了。

原来如此,我的是 Nexus 6P,查了下国外论坛上的讨论,感觉 Google 在 N6P 上开 zram 不太好

Swap 的使用量和 OOM 没有直接关系。OOM 看的是申请量不是使用量。哪怕你内存没用完都会触发 OOM。

我的 VPS 也是 512M 跑了个博客 ss 没速度了 博客关了好了。。。。悲剧。。。

并非所有虚拟内存都能换入 swap 的,有的虚拟内存被锁死在物理内存(主存)中。因此这种情况是有可能发生的。
不过看到 CentOS,不知道你内核版本多少,用个新点内核的发行版试试或许有惊喜呢。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服