机器是 centos 512M 内存的,升级物理内存很麻烦,物理内存使用比例较大,经常不定时 OOM
想尽量使用 swap,但是 swap 占用始终很小
free -m , 内存占用如下:
改了 /etc/sysctl.conf
vm.swappiness=90
sysctl -p 执行后依然不生效。
是不是我对 swap 的理解有问题?
1
tempdban 2018-07-02 14:32:53 +08:00 via Android
cat /proc/meminfo
|
2
Buffer2Disk OP @tempdban 老哥,你发这个是查看内存信息的啊,我的问题是为啥 swap 没有使用起来
|
3
oovveeaarr 2018-07-02 14:37:06 +08:00 1
如果我记得没错的话,swap 是存储“暂时不需要使用的内存”到硬盘上,等到使用的时候再载入到内存中
这种情况只能说明,没有“长期不使用的内存” |
4
Buffer2Disk OP @oovveeaarr 对,我也是这么理解的,这样的话,只有升级物理内存了
|
5
tempdban 2018-07-02 14:38:15 +08:00 via Android
………这你不发贵知道你内存是怎么用的?
|
6
Nitroethane 2018-07-02 14:38:58 +08:00
`vm.swappiness` 的值越大,表示 Linux 在进行内存回收的时候越倾向于回收**匿名页**,即将匿名页中的数据交换到 `swapfile` 或者 `swap` 空间。如果内存中的匿名页特别少的话,把 `swapiness` 的值设得再高也没用啊。“**在 Linux 下,内存的使用量取决于你的程序是怎样写的**”。
|
7
Levox 2018-07-02 14:41:49 +08:00
Android 里 swap ( 512M )占满而内存还有 1G 空闲导致经常卡顿 =_=
想知道非 root 下有什么能清 swap 的命令 |
8
tempdban 2018-07-02 14:46:11 +08:00 via Android 1
@Levox 你不 root 用的的是 zram 没有磁盘 io 不会导致你手机卡。neon 压一下就进去了。
|
9
Levox 2018-07-02 14:59:59 +08:00
@tempdban 原来如此,我的是 Nexus 6P,查了下国外论坛上的讨论,感觉 Google 在 N6P 上开 zram 不太好
|
10
msg7086 2018-07-02 15:09:57 +08:00
Swap 的使用量和 OOM 没有直接关系。OOM 看的是申请量不是使用量。哪怕你内存没用完都会触发 OOM。
|
11
liangzi 2018-07-02 15:43:19 +08:00 via Android
我的 VPS 也是 512M 跑了个博客 ss 没速度了 博客关了好了。。。。悲剧。。。
|
12
iwtbauh 2018-07-02 15:51:07 +08:00 via Android
并非所有虚拟内存都能换入 swap 的,有的虚拟内存被锁死在物理内存(主存)中。因此这种情况是有可能发生的。
不过看到 CentOS,不知道你内核版本多少,用个新点内核的发行版试试或许有惊喜呢。 |