Linux swap 占用始终很小,这是为啥?

2018-07-02 14:22:45 +08:00
 Buffer2Disk

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

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

free -m , 内存占用如下:

改了 /etc/sysctl.conf

vm.swappiness=90

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

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

4349 次点击
所在节点    Linux
12 条回复
tempdban
2018-07-02 14:32:53 +08:00
cat /proc/meminfo
Buffer2Disk
2018-07-02 14:34:33 +08:00
@tempdban 老哥,你发这个是查看内存信息的啊,我的问题是为啥 swap 没有使用起来
oovveeaarr
2018-07-02 14:37:06 +08:00
如果我记得没错的话,swap 是存储“暂时不需要使用的内存”到硬盘上,等到使用的时候再载入到内存中
这种情况只能说明,没有“长期不使用的内存”
Buffer2Disk
2018-07-02 14:38:08 +08:00
@oovveeaarr 对,我也是这么理解的,这样的话,只有升级物理内存了
tempdban
2018-07-02 14:38:15 +08:00
………这你不发贵知道你内存是怎么用的?
Nitroethane
2018-07-02 14:38:58 +08:00
`vm.swappiness` 的值越大,表示 Linux 在进行内存回收的时候越倾向于回收**匿名页**,即将匿名页中的数据交换到 `swapfile` 或者 `swap` 空间。如果内存中的匿名页特别少的话,把 `swapiness` 的值设得再高也没用啊。“**在 Linux 下,内存的使用量取决于你的程序是怎样写的**”。
Levox
2018-07-02 14:41:49 +08:00
Android 里 swap ( 512M )占满而内存还有 1G 空闲导致经常卡顿 =_=

想知道非 root 下有什么能清 swap 的命令
tempdban
2018-07-02 14:46:11 +08:00
@Levox 你不 root 用的的是 zram 没有磁盘 io 不会导致你手机卡。neon 压一下就进去了。
Levox
2018-07-02 14:59:59 +08:00
@tempdban 原来如此,我的是 Nexus 6P,查了下国外论坛上的讨论,感觉 Google 在 N6P 上开 zram 不太好
msg7086
2018-07-02 15:09:57 +08:00
Swap 的使用量和 OOM 没有直接关系。OOM 看的是申请量不是使用量。哪怕你内存没用完都会触发 OOM。
liangzi
2018-07-02 15:43:19 +08:00
我的 VPS 也是 512M 跑了个博客 ss 没速度了 博客关了好了。。。。悲剧。。。
iwtbauh
2018-07-02 15:51:07 +08:00
并非所有虚拟内存都能换入 swap 的,有的虚拟内存被锁死在物理内存(主存)中。因此这种情况是有可能发生的。
不过看到 CentOS,不知道你内核版本多少,用个新点内核的发行版试试或许有惊喜呢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/467466

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX