zoukankan      html  css  js  c++  java
  • [raspberry pi3] zram设置

    linux 3.15之后添加了个和mac一样的功能,内存压缩zram, 之前还有个zswap, zram通常是以模块的方式被放在系统里面的,以便在可以根据需求的不同,定制化加载.

    raspberry pi3的1g内存容量还是太小了,设定了zram可以挤点内存出来用, android4.4的数据貌似是40%.

    贴代码(从desktop的ubuntu上抄来的)

    设定代码:

    #!/bin/sh
    
    # load dependency modules
    NRDEVICES=$(grep -c ^processor /proc/cpuinfo | sed 's/^0$/1/')
    if modinfo zram | grep -q ' zram_num_devices:' 2>/dev/null; then
      MODPROBE_ARGS="zram_num_devices=${NRDEVICES}"
    elif modinfo zram | grep -q ' num_devices:' 2>/dev/null; then
      MODPROBE_ARGS="num_devices=${NRDEVICES}"
    else
      exit 1
    fi
    modprobe zram $MODPROBE_ARGS
    
    # Calculate memory to use for zram (1/2 of ram)
    totalmem=`LC_ALL=C free | grep -e "^Mem:" | sed -e 's/^Mem: *//' -e 's/  *.*//'`
    mem=$(((totalmem / 2 / ${NRDEVICES}) * 1024))
    
    # initialize the devices
    for i in $(seq ${NRDEVICES}); do
      DEVNUMBER=$((i - 1))
      echo $mem > /sys/block/zram${DEVNUMBER}/disksize
      mkswap /dev/zram${DEVNUMBER}
      swapon -p 5 /dev/zram${DEVNUMBER}
    done

    关闭代码:

    #!/bin/sh
    
    if DEVICES=$(grep zram /proc/swaps | awk '{print $1}'); then
      for i in $DEVICES; do
        swapoff $i
      done
    fi
    rmmod zram

    想要开机就设定的话,只要把设定的代码添加到/etc/rc.local,开机自动设定

    启动与否可以使用下面的命令查看:

    swapon -s

    输出结果如下

    Filename                Type        Size    Used    Priority
    /dev/zram0                                 partition    118464    0    5
    /dev/zram1                                 partition    118464    0    5
    /dev/zram2                                 partition    118464    0    5
    /dev/zram3                                 partition    118464    0    5

    可以看到分了4块和processor的数量是相同, 总数是总可用的物理内存的一半,至于为啥和processor数一样会比较好,原因未知

    # 2016/09/03 

    经过这么多天的测试和使用,结论是raspberry 目前的版本还是不要使用比较好,貌似有bug,某些情况下会导致当你还有空闲内存的时候,内存分配不出来,现象如很多程序已启动就segment fault了, 需要重启机器才能够使用, 不推荐使用。

  • 相关阅读:
    一本通1331后缀表达式的值
    一本通1198 逆波兰表达式
    一本通1311 求逆序对(归并排序应用)
    快速排序
    一本通1310 车厢重组(冒泡排序,类似逆序对)
    一本通1186 出现次数超过一半的数(类似桶排序)
    一本通1216 红与黑 (代码没有参考任何博客,完全是自己写的,我搜索出山了!!!)
    一本通1222 放苹果
    一本通 1212 LETTERS
    一本通1215 迷宫
  • 原文地址:https://www.cnblogs.com/zelos/p/5800810.html
Copyright © 2011-2022 走看看