• shellmode
    2019-01-22
    关于上面有同学表示 hadoop 集群建议关 swap 提升性能。事实上不仅 hadoop,包括 ES 在内绝大部分 Java 的应用都建议关 swap,这个和 JVM 的 gc 有关,它在 gc 的时候会遍历所有用到的堆的内存,如果这部分内存是被 swap 出去了,遍历的时候就会有磁盘IO

    可以参考这两篇文章:
    https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configuration-memory.html

    https://dzone.com/articles/just-say-no-swapping
    展开

    作者回复: 嗯嗯,大部分应用都不需要swap

    
     25
  • 爱学习的小学生
    2019-02-21
    请问老师、为什么kubernetes要关闭swap呢?

    作者回复: 一个是性能问题,开启swap会严重影响性能(包括内存和I/O);另一个是管理问题,开启swap后通过cgroups设置的内存上限就会失效。

    
     14
  • 石头
    2019-01-02
    hadoop集群服务器一般是建议关闭swap交换空间,这样可提高性能。在什么情况下开swap、什么情况下关swap?
    
     11
  • bob
    2019-01-03
    swappiness=0
    Kernel version 3.5 and newer: disables swapiness.
    Kernel version older than 3.5: avoids swapping processes out of physical memory for as long as possible.
    如果linux内核是3.5及以后的,最好是设置swappiness=10,不要设置swappiness=0

    以前整理的说明,供大家参考。
    展开

    作者回复: 谢谢分享

    
     7
  • 某、人
    2019-01-02
    swap应该是针对以前内存小的一种优化吧,不过现在内存没那么昂贵之后,所以就没那么大的必要开启了
    numa感觉是对系统资源做的隔离分区,不过目前虚拟化和docker这么流行。而且node与node之间访问更耗时,针对大程序不一定启到了优化作用,针对小程序,也没有太大必要。所以numa也没必要开启。
    不知道我的理解对否,老师

    作者回复: 对的

    
     7
  • 路过
    2019-01-03
    老师,前面你写只有当剩余内存落在页最小阈值和页低阈值中间,才开始回收内存。后面讲即使把 swappiness 设置为0,当剩余内存 + 文件页小于页高阈值时,还是会发生 Swap。我理解,这里是不是应该是:当剩余内存 + 文件页小于页低阈值时,还是会发生 Swap。谢谢!

    作者回复: 阈值的比较只代表回收内存的时机,具体回收哪些内存才是swappiness的目的,但是swappiness只是个倾向,而非绝对值

     1
     3
  • 我来也
    2019-01-02
    [D19打卡]
    很遗憾,还未遇到过swap导致的性能问题.
    刚买电脑时,512M内存要四百多,可是当时也不玩linux.
    等工作了,用linux了,内存相对来说已经比较便宜了.
    现在就更不用说了,基本小钱能解决的问题都不是问题了.
    --------------------
    以前的程序喜欢在启动时预分配很多内存,可是现在的几乎都是动态分配了.
    以前一个程序动辄实际使用内存2-3G.
    现在即使重构后,只需要100M内存,老板都不愿意换了.[稳定第一]
    展开

    作者回复: 👍

    
     3
  • 一坛幽梦
    2019-03-11
    老师,在工作中经常会遇到这种情况,系统中的剩余内存较小、缓存内存较大的,也就是整体可用内存较高的情况下,就开始使用swap了,而查看swappiness的配置为10,理论上不应该使用swap的;具体看下面的free命令,麻烦老师看下是什么原因?
    [root@shvsolman ~]# free -m
                 total used free shared buffers cached
    Mem: 32107 31356 750 0 15 12514
    -/+ buffers/cache: 18825 13281
    Swap: 3071 1581 1490
    [root@shvsolman ~]# sysctl -a | grep swappiness
    vm.swappiness = 10
    展开

    作者回复: 这是容易误解的地方,其实,即使把swappiness设置成0也不会禁止swap。想要禁止,就不要开启swap。

    
     2
  • 日行一善520
    2019-01-16
    看到评论有人问
    hadoop集群服务器一般是建议关闭swap交换空间,这样可提高性能。在什么情况下开swap、什么情况下关swap?

    为了性能关闭swap,这样就不会交换也不会慢了。内核里有个vm.xx的值可以调节swap和内存的比例,在使用内存90%时才交换到swap,可以设置这个来保持性能。在内存比较少的时候,还可以交换,就好了。

    展开

    作者回复: 谢谢分享

    
     2
  • 2xshu
    2019-01-02
    非常感谢老师的课程。让我受益匪浅。
    老师,我还有两个问题,想请教。
    1:zone_reclaim_mode设置成1,也即是开启zone reclaim。此时当内存即是低于water 水位的low值,是不是也得需要满足min_unmapped_ratio所给的百分比才会让kswapd0/1开始内存回收?
    (实际场景,zone内存小于low,kswapd0/1确实没有调用。 不知道是不是和min_unmapped_ratio有关系.)
    2:min_unmapped_ratio官网解释如下:
    This is available only on NUMA kernels.

    This is a percentage of the total pages in each zone. Zone reclaim will
    only occur if more than this percentage of pages are in a state that
    zone_reclaim_mode allows to be reclaimed.

    If zone_reclaim_mode has the value 4 OR'd, then the percentage is compared
    against all file-backed unmapped pages including swapcache pages and tmpfs
    files. Otherwise, only unmapped pages backed by normal files but not tmpfs
    files and similar are considered.

    The default is 1 percent.

    我自己理解是/proc/pagetypeinfo中Reclaimable所占的页数需要达到该zone总页数的百分比,才会真正回收内存?
    希望得到老师的解答。谢谢。
    展开
    
     2
  • MJ
    2019-06-15
    老师,可否认为匿名页就是堆内存和共享内存?两者都是应用程序控制
    
     1
  • 13001236383
    2019-01-17
    除了缓存和缓冲区,通过内存映射获取的文件映射页,也是一种常见的文件页。这个和缓存和缓冲中的文件页有啥区别了
    
     1
  • 划时代
    2019-01-03
    最近碰到内存打满,瞬间导致系统负载和CPU使用率打满的情况。

    作者回复: 解决了没?

    
     1
  • 爆爱渣科_无良🌾 ...
    2019-01-02
    感觉后面越写越变成讲述linux工具的文章。。。

    作者回复: 案例篇都会介绍一些常用的性能工具,用好工具事半功倍。当然,如果你有更好的方法,也欢迎分享

    
     1
  • Days
    2019-01-02
    我们公司处理嵌入式系统都是关闭swap分区,具体不知道什么原因?

    作者回复: 一般是为了减少写的次数,延长Flash存储的寿命

    
     1
  • React
    2019-01-02
    老师好,文中说电脑的休眠是基于swap.如果系统没有分配swap分区,还会将内存数据写入磁盘吗

    作者回复: 除了分区之外,也可以用文件

    
     1
  • DJH
    2019-01-02
    倪老师,请教一下,Linux下怎么关闭SWAP功能?直接不分配SWAP卷(或者分区、文件),还是通过某个关闭SWAP功能的系统选项?

    作者回复: swapoff命令可以动态关闭,持久化还要从fstab里面删除

    
     1
  • ninuxer
    2019-01-02
    打卡day20
    我们机器上,都不启用swap😂

    作者回复: 我的也是😊

    
     1
  • 安排
    2020-01-24
    用户空间没有文件背景的内存页都叫匿名页,例如,堆,栈等
    
    
  • 。。。
    2020-01-19
    每一篇都有很大的收获
    
    
我们在线,来聊聊吧