V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Buffer2Disk
V2EX  ›  Linux

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

  •  
  •   Buffer2Disk · 2018-07-02 14:22:45 +08:00 · 4349 次点击
    这是一个创建于 2339 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    free -m , 内存占用如下:

    改了 /etc/sysctl.conf

    vm.swappiness=90

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

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

    第 1 条附言  ·  2018-07-02 16:07:55 +08:00
    下面 2 个老哥的评论应该可以解答这个问题了

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


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

    想知道非 root 下有什么能清 swap 的命令
    tempdban
        8
    tempdban  
       2018-07-02 14:46:11 +08:00 via Android   ❤️ 1
    @Levox 你不 root 用的的是 zram 没有磁盘 io 不会导致你手机卡。neon 压一下就进去了。
    Levox
        9
    Levox  
       2018-07-02 14:59:59 +08:00
    @tempdban 原来如此,我的是 Nexus 6P,查了下国外论坛上的讨论,感觉 Google 在 N6P 上开 zram 不太好
    msg7086
        10
    msg7086  
       2018-07-02 15:09:57 +08:00
    Swap 的使用量和 OOM 没有直接关系。OOM 看的是申请量不是使用量。哪怕你内存没用完都会触发 OOM。
    liangzi
        11
    liangzi  
       2018-07-02 15:43:19 +08:00 via Android
    我的 VPS 也是 512M 跑了个博客 ss 没速度了 博客关了好了。。。。悲剧。。。
    iwtbauh
        12
    iwtbauh  
       2018-07-02 15:51:07 +08:00 via Android
    并非所有虚拟内存都能换入 swap 的,有的虚拟内存被锁死在物理内存(主存)中。因此这种情况是有可能发生的。
    不过看到 CentOS,不知道你内核版本多少,用个新点内核的发行版试试或许有惊喜呢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1178 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:46 · PVG 02:46 · LAX 10:46 · JFK 13:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.