刚接触Linux的小白…
今天使用创建swap文件的方法,向本身没有swap分区的vps里添加了1.5G的swap区。
但随后发现,无论内存占用情况如何,swap分区使用率始终为0%,尝试修改swappiness =100 ,无效。
肯定是哪里出问题了,希望大家能给予帮助…
(操作过程依据https://www.digitalocean.com/community/articles/how-to-add-swap-on-centos-6
vps使用的是vultr)
1
fatpa 2015-05-25 02:44:01 +08:00
请先把物理内存撑爆了……
|
2
twl007 2015-05-25 02:45:32 +08:00 via iPhone
物理内存没用到不回去用swap额…… 我囧
|
3
hyuwang 2015-05-25 07:24:52 +08:00
|
4
twl007 2015-05-25 08:03:58 +08:00 via iPhone
@hyuwang 那是一个神奇的值 之前优化redis的时候改过 的确是有内存还没搞定就开始取用交换分区了 但是如果你内存之没用到一定程度他也不会用 而且还会把剩下的拿来当缓存 应该还是你本身内存压力不够大吧
|
5
twl007 2015-05-25 08:12:16 +08:00 via iPhone
而且这个值就算你设定为0也不能阻止他不用swap 这个值不是我们直观得认为那样的
|
6
easynoder 2015-05-25 08:31:56 +08:00
Swappiness of 100 does not make programs get swapped out immediately, nor does a value of 60 or 90 mean swap gets used when ram is 60 or 90% full. It is a ratio of preference for stealing pages from cache vs. swapping things out to free up some memory when there isn't enough. A low value will strongly prefer stealing pages from the cache, and a high value strongly prefers to try and swap pages out. The setting only has any effect once memory is ( nearly ) all used, and the kernel has to choose how to free some up.
来自于 askubuntu的一段, 意思是说,swappiness这个值 是个比率,或者说参考值 |
7
jemyzhang 2015-05-25 09:14:13 +08:00 via Android
我的ubuntu一旦用到swap,系统就很容易被卡死,很多时候只能强制关机。机械硬盘,这是什么原因?
|
8
Shino OP |
9
Tiande 2015-05-25 09:37:06 +08:00
```
说实话,swap 在目前的壁纸计算机来讲,存在的意义已经不大了!这是因为目前的 x86 主机所含的内存实在都太大了 (一般入门级至少也都有 512MB 了),所以,我们的 Linux 系统大概都用不到 swap 这个玩意儿的。不过, 如果是针对服务器或者是工作站这些常年上线的系统来说的话,那么,无论如何,swap 还是需要创建的。 因为 swap 主要的功能是当物理内存不够时,则某些在内存当中所占的程序会暂时被移动到 swap 当中,让物理内存可以被需要的程序来使用。另外,如果你的主机支持电源管理模式, 也就是说,你的 Linux 主机系统可以进入『休眠』模式的话,那么, 运行当中的程序状态则会被纪录到 swap 去,以作为『唤醒』主机的状态依据! 另外,有某些程序在运行时,本来就会利用 swap 的特性来存放一些数据段, 所以, swap 来是需要创建的!只是不需要太大! ``` http://vbird.dic.ksu.edu.tw/linux_basic/0230filesystem_5.php#swapuse |
10
Andiry 2015-05-25 09:39:41 +08:00
用到swap意味着你的内存爆了,又不是什么好事
|
11
libook 2015-05-25 10:37:46 +08:00
系统可以配置使用swap的偏好,通常是设置一个小于等于10的数字,代表着在物理内存使用到何种程度才开始使用swap。
https://wiki.archlinux.org/index.php/Swap#Swappiness |
12
libook 2015-05-25 10:42:50 +08:00
呃,手癌了。。。少一个0,是小于等于100的数字,你设置为100按理说是要尽可能使用swap的。。。要不你试试开chrome、java之类的内存大户消耗物理内存试一下?
|
13
likuku 2015-05-25 10:48:38 +08:00
chrome 整日开一堆的人,表示每天午饭后就基本卡成翔了... ThinkPAD x230, 6G RAM,500G 机械HDD xubuntu 15.04 x86_64
|
14
likuku 2015-05-25 10:49:14 +08:00
6G RAM,swap 能用到3G以上...
|
15
Twinkle 2015-05-25 11:16:24 +08:00
最多的时候也就占用 100+M(我大概用得不够狠),反正分了 4G,就放那边不管了,一般来讲没问题。
|
16
mengzhuo 2015-05-25 11:25:01 +08:00
|
17
twl007 2015-05-25 11:32:56 +08:00 via iPhone
对于linux衡量指标不是swap被用了多少 而是内存与swap之间数据交换的频繁程度 如果对swap中写入数据很频繁证明内存不够用了 并不是看swap的使用多少来判断的 这个根windows很不同
|
18
fatpa 2015-05-26 01:08:45 +08:00
@Shino 老实说,线上环境真的需要用到 swap 的话,你也就应该扩容了,而且一般用到 swap 的时候说明你很大可能已经有进程内存溢出了。
坦白说,在当今这种内存白菜价的时代,swap 用来作为容量报警倒是一个不错的选择 -,- |
19
yeasty 2015-10-04 18:44:52 +08:00
问题解决的嘛 我的也一样
|