Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
bobopu
V2EX  ›  Linux

centos 内存不足开始占用虚拟内存时经常会出现 device is busy 该怎么办?

  •  
  •   bobopu · Aug 12, 2014 · 5475 views
    This topic created in 4337 days ago, the information mentioned may be changed or developed.
    目前是16G内存,当然最好的办法就是升级内存,但预算有限(得下月资金才能到账),一下子升级到32G还是有点困难。目前物理内存占用92%,虚拟内存已占用1G左右(总共设置了32G),程序加载已经开始出现device is busy错误了,得反复加载多次才能成功。不是说物理内存全部用完才会开始占用虚拟内存么,这物理内存还剩8%怎么就开始占用swap了?这有什么好的临时解决办法吗?
    10 replies    2014-08-13 08:37:36 +08:00
    pfitseng
        1
    pfitseng  
       Aug 12, 2014
    把自己的笔记本插上去。。。
    msg7086
        2
    msg7086  
       Aug 12, 2014 via iPhone   ❤️ 1
    vm.swappiness

    另外,减少swap占用,通常会降低性能。
    sixteen
        3
    sixteen  
       Aug 12, 2014
    都不说使用哪个虚拟化前端么?
    freetg
        4
    freetg  
       Aug 13, 2014   ❤️ 1
    有一部分内存应该是cache,可以尝试清除 echo 3 > /proc/sys/vm/drop_caches ,
    使用swap会增加io,导致性能下降
    msg7086
        5
    msg7086  
       Aug 13, 2014 via iPhone
    @freetg 不用cache性能掉得更快。
    freetg
        6
    freetg  
       Aug 13, 2014
    @msg7086 cache里有一部分是脏数据,可以定期清除,并不是不用
    msg7086
        7
    msg7086  
       Aug 13, 2014 via iPhone
    @freetg swap里大部分都是长期不用的数据,比起cache来说更没用…
    freetg
        8
    freetg  
       Aug 13, 2014
    @msg7086 swap和cache不是一会事,swap是物理内存不够挪过去的进程数据,是不能直接清的,而cache是文件读写缓存,可以随时清且不影响系统正常运行
    msg7086
        9
    msg7086  
       Aug 13, 2014 via iPhone
    @freetg 我说的没用,是说就算放在swap里也不会影响性能的意思。我没说他们是一回事…

    倒是缓存,本来就是提高性能的技术,清掉了当然会影响性能了。
    riaqn
        10
    riaqn  
       Aug 13, 2014
    @freetg “swap是物理内存不够挪过去的进程数据”,实际上即使在内存充足时,默认的内存配置还是会把冷数据迁移到swap的。
    http://askubuntu.com/questions/157793/why-is-swap-being-used-even-though-i-have-plenty-of-free-ram
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1178 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 17:45 · PVG 01:45 · LAX 10:45 · JFK 13:45
    ♥ Do have faith in what you're doing.